C#用CheckedListBox怎么准确的触发
CheckedListBox里的代码要怎么准确的写还有调试的时候点击BUtton的时候打开关闭再打开的时候会出现无法释放B界面了...
CheckedListBox里的代码要怎么准确的写 还有调试的时候点击BUtton的时候打开关闭再打开的时候会出现无法释放B界面了
展开
1个回答
展开全部
这个问题很简单了。你的B窗体,就是弹窗被你关了。然后你又在主Main()窗体里点了按钮。对吗?
因为你的按钮事件里,没有对B窗体的存在做验证。
if (frm.IsDisposed)
{
frm = new Form2();
}
加这个就行了。这一段,加在你frm.SetMsg(xxx)之前。作用,就是检查一下,如果弹框被关了,就重建立一个实例了。
因为你的按钮事件里,没有对B窗体的存在做验证。
if (frm.IsDisposed)
{
frm = new Form2();
}
加这个就行了。这一段,加在你frm.SetMsg(xxx)之前。作用,就是检查一下,如果弹框被关了,就重建立一个实例了。
更多追问追答
追问
CheckedListBox要怎么准确的获取到B界面textbox1呢 请发完整代码 多谢了
追答
你的主窗体叫Main,这个里面你不是定义也一个全局的对象叫frm吗,它是B窗体的引用。
public partial class Form1 : Form
{
Form2 frm = new Form2(); //这个就是B窗体的全局引用了
public Form1()
{
InitializeComponent();
}
//你的按钮事件了
private void button1_Click(object sender, EventArgs e)
{
//你点按钮,应该弹出一个B窗体,然后把值传到B的TextBox中去。对吧?
if (frm.IsDisposed)
{ //这句就是说,如果你把B窗体关了,又点这个按钮,全重新实例化一个B窗体
frm = new Form2();
}
//SetMsg是在B窗体的公开方法,传过去的字符串就是你CheckedListBox里面读出的值,我这为了简单,只传过去一个时间。
frm.SetMsg(DateTime.Now.ToString());
frm.Show();
}
//
}
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询