想在主框架窗体里面 做一个 注销功能 主窗体 from1 点击from1中一个注销按钮,弹出from2(ShowDialog()) 同时关闭from1
请教高手这个问题怎么解决 谢谢了
请教高手这个问题怎么解决 谢谢了
解决方案 »
- 求助:GDI+ 绘制直线,没显示出来
- 再问事件的执行问题
- 请问字符串怎么转换成Byte[]呢?
- 大家聊聊C#高级机制具体的应用,比如委托、异步回调等
- Net与Com的互操作问题
- c#子页面接收母板页的搜索结果
- XML中如何读取指定行到C#中的textBox?
- 关于文件操作的和指针传递的,如果你是高手请指点一下,在线等待,解决给分!!
- 生日散分!!!!!
- 为什么我的vs.net在运行c#程序时,提示:“无法启动程序。。。传递到系统调用的数据区太小。”为什么?
- 下载了一个程序,运行的时候说“无法直接启动带有“类库输出类型”的项目”
- C#如何通过拖放实现: 将在ListBox中选择的任意一项拖动到Panel上并生成一个Label
用show()来打开form2的话比较容易实现。
f2.Show();
this.close();
希望高手说下用ShowDialog()如何实现。
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
Form2 o = new Form2();
o.ShowDialog();
}public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}private void button1_Click(object sender, EventArgs e)
{
this.Close();
this.Dispose();
}
}看错题目,不好意思
f2.Show();
this.close();
上面的朋友说的这种方法 连 from2也一起关闭了呀 我的意思是 from2不关闭 只关闭from1
如果你用的是vs2005,可以这样做
Application.Run(new form1());
form2 f2=new form2();
f2.login.ShowDialog();
Application.Exit();
其他版本的话,我就不清楚了
具体上是在Main函数上动刀的..如下:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Application.Run(new Form1());
temForm = new Form1();
while (temForm != null)
{
Application.Run(temForm);
int nLayer = GC.GetGeneration(temForm);
temForm = null;
GC.Collect(nLayer);
temForm = newForm;
newForm = null;
}
}
private static Form temForm;
public static Form newForm;
不知道你的具体情况,我假设在Form1窗体上有个Button1.给它的事件加以下代码:private void button1_Click(object sender, EventArgs e)
{
Program.newForm = new Form2();
this.Close();
}
然后运行,出现Form1,点击其上的Button1,弹出Form2,Form1关闭.这是你要的功能吧...
既然是要弹出Dialog效果,那为什么需要关闭Form1呢??
Form2 f2 = new Form2();
f2.show();
this.close();
应该可以实现了吧
在注销按钮的单击事件中写如下代码:
flag=true;
this.close();
-------------MAIN方法中代码----------------- static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 f1=new Form1();
f1.ShowDialog();
if(Form1.flag)
{
Application.Run(new Form2());
}
}
---------------------------------------------
也就是说在form1中建立一个标志变量,当窗体要关闭的时候改变变量值,然后在主方法中判断后进行处理
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
Form2 o = new Form2();
o.ShowDialog();
} public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
this.Close();
this.Dispose();
}
}
这个好像可以达到楼主的要求啊!!!
Form2 frm = new Form2();
frm.show();
this.close();
frm.show();
this.hide();