解决方案 »
- 正则表达式求教!!
- c#写的窗口程序,运行几天都是正常的,但有时会弹出窗口提示System.IndexOutOfRangeException: Index was outside
- 一个简单问题
- 高手 求救······不能试听歌曲 是怎么回事????
- C# WinFrom 水晶报表打印图片
- Treeview和listview的小问题,解决马上给分,请帮我解释清楚错误原因,谢谢
- 如何让主Form获取焦点,响应键盘
- 新手求教 多线程调试问题!
- 求职
- 在panel控件的paint事件中进行边框颜色和宽度重绘时,如果窗体变化了,右侧的边框会出现很多,怎么解决?
- C# 操作XML始终获取不到节点对象
- C# 求助 联动如何实现
这样看来我看的那篇也是有这个错误了.
Login_Frm Log;
static void Main()
{
...
Log = new Login_Frm();
...
}
提示的是当前上下文中不存在名称Log....就是因为这个原因,超出了对象的生命周期,根据你的代码,这个地方最好是用this,没有必要把这种窗体定义成全局变量。
{
Login_Frm Log = new Login_Frm(); if (textBox1.Text == "lan")
{
Log.DialogResult = DialogResult.OK;
}
}
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Login_Frm Log = new Login_Frm();//这里改改。。
if ( Log.ShowDialog() == DialogResult.OK)
{
Application.Run(new Main_Frm());
}
}
然后FORM上面的按钮是这样的:
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "lan"){
Log.DialogResult = DialogResult.OK;
^^^^
}
}
对对 我看错了,我以为那button是mainform里的
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Login_Frm frmLogin = new Login_Frm();
frmLogin.ShowDialog();
if (frmLogin.boolIsSuccess)
{
Application.Run(new MainForm());
}
else
{
Application.Exit();
}
}Login_Frm:
public bool boolIsSuccess = false;
private void btnLogin_Click(object sender, EventArgs e)
{
if (textBox1.Text == "lan")
boolIsSuccess = true;
this.Close();
}
对于根据窗体的返回值来判断打开哪个窗体或退出操作,我个人认为还是通过窗体的DialogResult的枚举值来判断比较好,呵呵,这样写起代码来更容易理解相对来说也不容易出错,否则还需要参考其他窗体的公共变量,不注意容易写错或忘记判断