事件 相关

showjancn 2007-11-01 02:19:10
假如我从Button派生了一个新类ButtonEx,

同时,我也在ButtonEx中有一个TreeView属性。

例如:
public ButtonEx :Button
{
private TreeView treeView1 = new TreeView();

public TreeView TreeView
{
get { return this.treeView1;}
}

............
}

由于在设计时,是无法看到treeView1的,
现在我要把 treeView1 的 AfterSelect事件提到外面来,在界面上编辑ButtonEx的对象时,有一个AfterSelect事件。这个事件作用于treeView1.

比如:
我们在VS2005中拖一个ButtonEx对象,在它的事件中要有一个AfterSelect事件。
就像它本身有一个Click事件一样,可供用户响应。

但这个AfterSelect最终是作用于它内部的treeView1的。


求解!!
...全文
35 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
boblaw 2007-11-01
  • 打赏
  • 举报
回复

public class ButtonEx :Button
{
private TreeView treeView1 = new TreeView();
public TreeViewEventHandler AfterCheck;
public ButtonEx()
{
treeView1.AfterCheck += new TreeViewEventHandler(treeView1_AfterCheck);
}

void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{
if (AfterCheck != null)
{
AfterCheck(sender, e);
}
}
public TreeView TreeView
{
get { return this.treeView1;}
}
.................
}
lovefootball 2007-11-01
  • 打赏
  • 举报
回复
参考一下

public event TreeViewEventHandler AfterSelect;

public ButtonEx()
{
treeView1.AfterSelect += new TreeViewEventHandler(treeView1_AfterSelect);
}

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (AfterSelect != null)
{
AfterSelect(sender, e);
}
}
北京的雾霾天 2007-11-01
  • 打赏
  • 举报
回复
可以按如下的代码来做:


public class ButtonEx : Button
{
private TreeView treeView1 = new TreeView();

public TreeView TreeView
{
get { return this.treeView1; }
}
public event TreeViewEventHandler AfterSelect
{
add
{
this.treeView1.AfterSelect += value;
}
remove
{
this.treeView1.AfterSelect -= value;
}
}
}

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧