一个典型的windows 登录 问题 我以前是用this.Hide();不知道有没有其他更好的方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 怎么能这样呢?应该在formMain中创建form1呀,怎么反了?可以在form1中设一个全局变量nOK,当登陆信息对时为true,否则为false,在formMain中定义form1 oform1=new form1();oform1.show();再在formMain中判断nOK,如果为true,则继续,为false,则在调用oform1.show();这样就好了。在form1的某button的click事件中写为:this.close(); 主窗体Loginform loginf=new Loginform();loginf.ShowDialog();//显示这个登录窗口 登陆窗体//判断,一些登录数据库,验证过程 TestLogin();this.close(); public string strpart,strname,strgrade;public int intclose; ..............] mianfrm load{Frmlogin frmlogin=new Frmlogin(); frmlogin.ShowDialong();if(intclose==1){string mainpart=frmlogin.strpart;}else {this.close()}}frmloginbuttexit{this.intclose=0;}buttok{this.close=1;} 那是当然的了formMain frmMain=new formMain();是在你窗口类里被生命的变量,的的窗口消亡当然它也会消亡的啊! 如果想多个form共存的话class MyApplicationContext : ApplicationContext { private Form1 form1; private Form2 form2; private MyApplicationContext() { form1 = new Form1(); form2 = new Form2(); form1.Show(); form2.Show(); } [STAThread] static void Main(string[] args) { MyApplicationContext context = new MyApplicationContext(); Application.Run(context); } } 在你的工程中添加一个Start.cs文件,在文件中手动写进Main()代码段,在Main代码后面添加调用语句:if(!this.login()) return; else mainForm.Show();Start.cs中再添加下面的函数: private bool login() { bool LogOK; LoginForm form1 = new LoginForm(); if(form1.ShowDialog(this) == DialogResult.OK) { LogOK = true; } else LogOK = false; return LogOK; }不过需要注意的是在你的LoginForm窗体的按钮事件代码中要添中下面之类的语句: if(密码验证失败) { MessageBox.Show("您登录失败了!"); DialogResult = DialogResult.Cancel; } else { DialogResult = DialogResult.OK; }在你LoginForm窗体的关闭窗体事件代码中,加入DialogResult = DialogResult.Cancel;之类的代码。 当然,上面的DialogResult也可以在窗体的属性中找到的,你找一下吧 还没从VB真正升级到VB.NET(C#)啊...友情提示:Form继承的是.NET中那个类库啊,查Visual Studio .NET 组合帮助-〉参考〉类库,调用Form的卸载方法Close()即可。你这个例子可以如下public class Form1 : System.Windows.Forms.Form{...public Form frm1;...[STAThread]static void Main() {Application.Run(new Form1());}private void button1_Click(object sender, System.EventArgs e){frm1=new Form();frm1.Show();}private void button2_Click(object sender, System.EventArgs e){frm1.Close();}} 你那个窗体已经不存在了还怎么show?多看msdn 找Repeater里面的控件-findcontrol使用求救 大家是怎么结识C#的:) 求一个保存的思路 请教一个在winform中 datagrid的通用样式函数 c# 线程池方法调用问题(串口,usb口数据采集) 急!! 怎样为按钮控件添加键盘事件? 请问各位老大,怎么在office里的宏中打开其他的应用程序? 请问 一个正则匹配的问题,劳烦大家帮忙 怎么利用.Net的安装与部署制作安装程序? windows应用程序,如何生成 .dll的动态库(解决马上给分!) 有关mp3播放器的思路
再在formMain中判断nOK,如果为true,则继续,为false,则在调用oform1.show();这样就好了。在form1的某button的click事件中写为:
this.close();
Loginform loginf=new Loginform();
loginf.ShowDialog();//显示这个登录窗口
TestLogin();
this.close();
public int intclose;
..............]
mianfrm load
{
Frmlogin frmlogin=new Frmlogin();
frmlogin.ShowDialong();
if(intclose==1)
{
string mainpart=frmlogin.strpart;}
else
{
this.close()}
}
frmloginbuttexit
{
this.intclose=0;
}buttok
{
this.close=1;
}
formMain frmMain=new formMain();
是在你窗口类里被生命的变量,的的窗口消亡当然它也会消亡的啊!
class MyApplicationContext : ApplicationContext
{ private Form1 form1;
private Form2 form2; private MyApplicationContext()
{
form1 = new Form1();
form2 = new Form2();
form1.Show();
form2.Show();
}
[STAThread]
static void Main(string[] args)
{
MyApplicationContext context = new MyApplicationContext(); Application.Run(context); }
}
return;
else
mainForm.Show();
Start.cs中再添加下面的函数:
private bool login()
{
bool LogOK;
LoginForm form1 = new LoginForm();
if(form1.ShowDialog(this) == DialogResult.OK)
{
LogOK = true;
}
else
LogOK = false; return LogOK;
}不过需要注意的是在你的LoginForm窗体的按钮事件代码中要添中下面之类的语句:
if(密码验证失败)
{
MessageBox.Show("您登录失败了!");
DialogResult = DialogResult.Cancel;
}
else
{
DialogResult = DialogResult.OK;
}
在你LoginForm窗体的关闭窗体事件代码中,加入DialogResult = DialogResult.Cancel;之类的代码。 当然,上面的DialogResult也可以在窗体的属性中找到的,你找一下吧
友情提示:Form继承的是.NET中那个类库啊,查Visual Studio .NET 组合帮助-〉参考〉类库,调用Form的卸载方法Close()即可。
你这个例子可以如下public class Form1 : System.Windows.Forms.Form
{
...
public Form frm1;
...
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
frm1=new Form();
frm1.Show();
}
private void button2_Click(object sender, System.EventArgs e)
{
frm1.Close();
}
}
还怎么show?
多看msdn