1)在form1中有button1,以下点击button1的代码:
private void button1_Click(object sender, System.EventArgs e)
{
Form2 loginfrm =new Form2();
loginfrm.Show(); }2)第一次点击button1弹出form2后,如果再点击button1,又会弹出一个form2窗体。
3)请问怎么判断控制,在form2已弹出情况下,如果再点击button1,form2不重复弹出,并给出提示框??? 请各位指点!!!
private void button1_Click(object sender, System.EventArgs e)
{
Form2 loginfrm =new Form2();
loginfrm.Show(); }2)第一次点击button1弹出form2后,如果再点击button1,又会弹出一个form2窗体。
3)请问怎么判断控制,在form2已弹出情况下,如果再点击button1,form2不重复弹出,并给出提示框??? 请各位指点!!!
private void button1_Click(object sender, System.EventArgs e)
{
if( loginfrm != null )
{
loginfrm =new Form2();
loginfrm.Show();
}
else
loginfrm.Activate();
}這是最簡單的一種方法了。
1)这种方法是可以,但是如果关闭一次form2之后,再点击button1 就不会弹出form2?
{
this.loginfrm =new Form2();
this.loginfrm.Show();
}
else
{
try
{
this.loginfrm.Show();
this.loginfrm.Activate();
}
catch
{
this.loginfrm =new Form2();
this.loginfrm.Show();
}
}
public static ArrayList formList = new ArrayList();
private void button1_Click(object sender, System.EventArgs e)
{
bool FormIsExist = false;
foreach( Form f in formList )
{
if( f is Form2 )
{
((Form2)f).Activate();
FormIsExist = true;
break;
}
}
if( !FormIsExist)
{
Form2 loginfrm =new Form2();
formList.add( loginfrm );
loginfrm.Show();
}
}最後在form2的close事件中寫上
form1.formlist.remove( this );
if(!frmActiveFlag)
{
loginfrm.Show();
frmActiveFlag=ture;
}在loginfrm的close事件中, frmActiveFlag=false
为什么括号内(this);可不可写成form1.formlist.remove(form1.formlist)?
请指点?!!
bool a=true;
private void button1_Click(object sender, System.EventArgs e)
{
if(a){
Form2 loginfrm =new Form2();
loginfrm.Show();
a=false;
}
}