winform主窗口在一个执行程序包中,子窗口的form在不同的DLL项目中。
希望打开不同的子form时将一个方法关联到主窗口的工具栏按钮上。
看了一些例子,好像都是通过工具栏合并或替换来实现的。能不能直接替换方法?
最好能有简单的代码。
谢谢
希望打开不同的子form时将一个方法关联到主窗口的工具栏按钮上。
看了一些例子,好像都是通过工具栏合并或替换来实现的。能不能直接替换方法?
最好能有简单的代码。
谢谢
解决方案 »
- C# 生成不了Excel ????
- 反编译一段代码,其中有一段bool 与uint的一些语句,不思其解
- 100分求解决代码
- 求C#读取文本文件的程序?
- 怎么实现windows mobile smartphone的索引菜单?
- 变量==常量 和 常量==变量的差别???
- 看看这个 扫描程序那个地方错了?
- 可否使用uddi本机注册、发布WebService?详情请进。。。。
- .net高手围观,涉及到.net源码问题
- 我编的一个学习小程序,需要用到 Webbrowser显示网页,但是显示乱码
- Contextmenustrip非得要在别的控件中的属性中出现才能用吗?
- c++ 结构中的回调函数 在c# 中如何调用
可能格式改版后乱了,不过copy到VS 里可以搞好的
我的想法是只改变那些需要变动的按钮的方法。
private void frMain_MdiChildActivate(object sender, EventArgs e)
{
try
{ Form tempChild = this.ActiveMdiChild;
BaseForm.StandBaseForm frm;
frm = (BaseForm.StandBaseForm)tempChild;
if (tempChild == null) { SetToolModeRead(); }
else
{
frm.RightListID = frm.Name.Trim();
RightSet();
if (frm._SetToolModeStatus == 2)
{
RightSet();
//SetToolModeRead();
}
else if (frm._SetToolModeStatus == 3)
{
RightSet();
SetToolModeNew();
}
else if (frm._SetToolModeStatus == 4)
{
RightSet();
SetToolModeEdit();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}挺简单的!
定义一个接口
public interface IVouchProcess
{
void VouchNew(object sender, EventArgs e); void VouchModify(object sender, EventArgs e); void VouchDelete(object sender, EventArgs e); void VouchConform(object sender, EventArgs e); void VouchCancel(object sender, EventArgs e);
}然后全部的子form继承这个接口在主form中 private void MainForm_MdiChildActivate(object sender, EventArgs e)
{
try
{
//Form tempChild = this.ActiveMdiChild;
BaseForm.IVouchProcess tempChild = (BaseForm.IVouchProcess)this.ActiveMdiChild;
tbNew.Click += new EventHandler(tempChild.VouchNew);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
} }
问题是这个click事件是不停的将方法添加上去的。
有没有办法在添加方法前先将原来的方法清空。