javascript中有 事件="javascript:alert('message'); alert('message2')",很简洁。
C#能不能实现?如:
Timer1.Tick+= new ... 可不可以写成:Timer1.Tick=new diget({MessageBox.Show("message"); MessageBox.Show("message2"); });
C#能不能实现?如:
Timer1.Tick+= new ... 可不可以写成:Timer1.Tick=new diget({MessageBox.Show("message"); MessageBox.Show("message2"); });
delegate()
{
try
{
socket.Connect(ipEndPoint);
}
catch (Exception ex)
{
pingException = ex;
}
});
Timer只有维一一个事件(Tick),为了简化操作我想把Timer变为动态创建并把这个事件放在Timer定义时:
void BindEmplory(empID)
{
dataPanelEmplory.datasource = getBindingsourceEmplory(empID);
Timer tmr = new Timer();
tmr.Intv = 1000;
tmr.OnTimer = new timerevent(
delegate()
{
tmr.enable = false;
picEmplory.image = getPicEmplory(empID);
tmr.destory();
});
}
void BindHdrGrid()
{
if (tvFid.SelectedNode == null) return;
TreeNode node = tvFid.SelectedNode;
if (node.Tag == null) return;
myCodeInfo info = node.Tag as myCodeInfo;
BindHdrGrid(info.MID, info.ID, true);
}
//void BindHdrGrid(Guid mid, Guid fid) { BindHdrGrid(mid, fid, false); }
void BindHdrGrid(Guid mid, Guid fid, bool bDoIt)
{
if (!bDoIt)
{
Timer tmr = hdrGrid.myTempTimer;
if (tmr.Tag == null) //[null, string, HashTable]
{
tmr.Tag = "Timer init"; tmr.Interval = 500;
tmr.Tick += new EventHandler(delegate(object sender, EventArgs e)
{
(sender as Timer).Enabled = false;
Hashtable htTmr = (sender as Timer).Tag as Hashtable;
BindHdrGrid(new Guid(htTmr["MID"].ToString()), new Guid(htTmr["FID"].ToString()), true);
});
} Hashtable ht = new Hashtable();
ht.Add("MID", mid.ToString());
ht.Add("FID", fid.ToString());
tmr.Tag = ht;
tmr.Enabled = false; tmr.Enabled = true;
return;
} myGrid dg = hdrGrid; //Init
if (dg.DataSource == null)
{
...(开始BindGrid)
dg.myTempDataTable = blTree.GetListByMidFidAll_(mid, fid); dg.myTempBindingSource.DataSource = dg.myTempDataTable;
//dg.myTempDataTable.TableNewRow += new DataTableNewRowEventHandler(hdrGrid_myTempDataTable_TableNewRow);
dg.myTempDataTable.TableNewRow += new DataTableNewRowEventHandler(delegate(object sender, DataTableNewRowEventArgs e)
{
if (lstGrid.myTempBindingSource.Count > 0)
{
DataRowView drv = lstGrid.myTempBindingSource.Current as DataRowView;
e.Row["MID"] = drv["ID"];
e.Row["SP"] = "";
e.Row["FID"] = fid; //myCommon.myEmptyID; //@@@
e.Row["ID"] = Guid.NewGuid();
e.Row["ST"] = 1;
e.Row["IS_GRP"] = 0;
e.Row["CR_DT"] = DateTime.Now;
e.Row["OD"] = ((hdrGrid.myTempBindingSource.Count + 1) * 100).ToString().PadLeft(5).Replace(" ", "0");
}
});