by pietman
16. March 2009 20:00
steps:
- declare delegate
- delegate [result-type] [delegateName] ([parameters]);
- declare event based on delegate
- public event [delegateName] [EventName];
- fire the event
- if ([EventName] != null)
{ [EventName]([arguments]); }
example:
public delegate void RowButtonClickHandler (object sender, int row);
public event RowButtonClickHandler RowClick;
if (RowClick != null)
{
int rownum = 5; //example only
RowClick (this, rownum);
}
another example:
public delegate void DataSelectedHandler(object sender, DataSelectedArgs e);
public event DataSelectedHandler OnDataSelected;
public class DataSelectedArgs : EventArgs
{
public datacontainer DC;
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
int index = GridView1.SelectedIndex;
datacontainer dc = dcl[index];
if (OnDataSelected != null)
{
DataSelectedArgs eventArgs = new DataSelectedArgs();
eventArgs.DC = dc;
OnDataSelected(this, eventArgs);
}
}
COPY & PASTE The following into your class as a template:
#region EVENTS
public class DataSelectedArgs : EventArgs
{
public string setting;
}
public delegate void DataSelectedHandler(object sender, DataSelectedArgs e);
public event DataSelectedHandler OnDataSelected;
public void FireEvent()
{
if (OnDataSelected != null)
{
OnDataSelected(this, new DataSelectedArgs() { setting = "wer" });
}
}
#endregion
b6429b67-69be-4df7-af0b-73cef160d151|0|.0
Tags:
by pietman
10. March 2009 12:05
Some of the errors I've come accross and how to resolve them:
Cannot open user default database. Login Failed
This occurs when you have deleted the database that your login uses as the default database.
If you still have your connection open to the database engine then run the following sql command:
alter login [petelaptop\pete] with default_database = master
if you have lost your connection you have to connect as follow using the command prompt:
sqlcmd -d master -U <<your username here>>
-P <<your password here>>
(this will connect using the master database rather than the default which is now deleted.)