我写了个类,这个类继承与UserControl. 是个有Click消息和背景图片的自定义控件. 我想个这个类加个销毁自己的方法,如下:
C# code
public void dispose()
{
this.dispose();
}
//销毁自己
在另外的Form类中有俩按钮,一个用来创建,一个用来销毁 C# code
private void button1_Click(object sender, EventArgs e)
{
MyClass myclass = new MyClass(this.pnl, this.img, 0, 0, 50, 50);
myclass.Createmycontrol();//创建控件并显示
}
//button 1 创建button private void button2_Click(object sender, EventArgs e)
{ myclass.dispose();
}
//button 2 销毁button
这样是运行不了的,提示我myclass对象没有实例化. 请问: 1 如果想这样使用 "创建", "销毁" 的方法,应该怎么改? 是改dispose()方法的定义,还是修改调用方式? 怎么改? 2 如果重载析构函数可以销毁对象本身吗? 重载析构函数是 "~MyClass()" 这样吗? 3 为什么button2_Click中的myclass没有实例化,编译也能通过? 4 谢谢!
C# code
public void dispose()
{
this.dispose();
}
//销毁自己
在另外的Form类中有俩按钮,一个用来创建,一个用来销毁 C# code
private void button1_Click(object sender, EventArgs e)
{
MyClass myclass = new MyClass(this.pnl, this.img, 0, 0, 50, 50);
myclass.Createmycontrol();//创建控件并显示
}
//button 1 创建button private void button2_Click(object sender, EventArgs e)
{ myclass.dispose();
}
//button 2 销毁button
这样是运行不了的,提示我myclass对象没有实例化. 请问: 1 如果想这样使用 "创建", "销毁" 的方法,应该怎么改? 是改dispose()方法的定义,还是修改调用方式? 怎么改? 2 如果重载析构函数可以销毁对象本身吗? 重载析构函数是 "~MyClass()" 这样吗? 3 为什么button2_Click中的myclass没有实例化,编译也能通过? 4 谢谢!
解决方案 »
- C# DirectoryInfo.GetFiles 方法 (SearchPattern, SearchOption)
- 有关Cmd.exe中如何执行telnet命令并输出显示结果的问题
- 参数委托的顺序问题
- 6.1.3 为值类型实现 Equals 方法(Jeffrey Richter)
- 如何用gridview显示word和excel的名称?在客户端点击打开。
- [如何解决]除非 DataGridView 被数据绑定到支持更改通知并允许删除的 IBindingList,否则不能以编程方式移除行。
- 在vs2008中新建了一个组件类,怎将它添加到工具箱内
- 送分:只要大家到http://www.xbitsoft.net发帖提问,站长会想办法帮你搞定你的问题!
- 我认为C#最强大和核心的部分就是它的事件数据模式!
- 与非托管代码交互的时候,DWARD转换为int和unit有什么区别?
- 产生随机数,编译通过,无法运行?
- C# 如何调用别人机器上的exe文件
MyClass myclass;
在事件里初始化
private void button1_Click(object sender, EventArgs e)
{
myclass = new MyClass(this.pnl, this.img, 0, 0, 50, 50);
myclass.Createmycontrol();//创建控件并显示
} 2. 析构函数自动吧对象dispose掉3.应该不是编译button2_Click通过 而是在button1_Click编译没有通过就没有继续往下编译了
LZ可以试试吧button2_Click写在button1_Click上面看下是不是这样