我想显示一个名为TTT
的表单,所以我尝试了这个:
public static TTT ttt_local = new TTT();
private void button1_Click(object sender, EventArgs e)
{
ttt_local.Show();
}
然后我想从内部关闭表单,以便ttt_local
按下ttt_local
中的按钮时自动关闭。这有效,但如果我想重新开启ttt_local
,我会得到ObjectDisposedException
。有人能帮帮我吗?
答案 0 :(得分:1)
您不需要让表单 关闭 本身,但您可以设置其可见性或只需 隐藏 它(同样适用于 显示 表单):
消费代码:
var ttt = new TTT();
ttt.Show();
TTT
- 等级:
public class TTT : Form
{
private void button2_Click(object sender, EventArgs e)
{
this.Hide();
}
}
现在再次在使用者代码中调用ttt.Show()
,而不是表单类本身。
另外,您可以使用Form.Visibility
设置表单的可见性。
答案 1 :(得分:0)
您有两种选择。
public TTT ttt_local = new TTT();
private void button1_Click(object sender, EventArgs e)
{
if(ttt_local == null) ttt_local = new TTT();
ttt_local.Show();
}
选项来处理表单。
选项1:
hide/show
选项2:
不要关闭表单,只需使用Visible
或甚至设置foreach ($product->Field()->Data as $data) {
$data->delete();
}
属性。
答案 2 :(得分:0)
使用全局变量的原因是什么?您只应将变量定义放在事件函数中:
private void button1_Click(object sender, EventArgs e)
{
TTT ttt_local = new TTT();
ttt_local.Show();
}
每当触发事件时,变量都会创建,然后在关闭表单时进行处理。
答案 3 :(得分:0)
你可以展示它然后隐藏它:
ttt_local.Show();
ttt_local.Hide();
或关闭:
ttt_local.Close();
问候。