我用C#。NET写C/S结构的问题(MDI),因我刚开始学,所以请知道多多指教!
这里不讨论用.net做c/s合不合理的问题,就事论事!
我的目的:程序启动后先启动MDI主窗体,但是这时候用是肯定是什么都做不了,点击菜单栏的登录即弹出登录窗体,问题出在弹出登录窗体时如何验证当前登录窗体是否已经存在,如果存在就显示在最前面(MDI如果是活动状态,自然在最前),在c++builder和delphi下很容易,在这里就是麻烦,结构变了感觉晕了!
请大家指点。
if(窗体已存在)
{
激活此窗体;
}
else
{
Login login=new Login();
login.show();
}
多谢!!!!!
这里不讨论用.net做c/s合不合理的问题,就事论事!
我的目的:程序启动后先启动MDI主窗体,但是这时候用是肯定是什么都做不了,点击菜单栏的登录即弹出登录窗体,问题出在弹出登录窗体时如何验证当前登录窗体是否已经存在,如果存在就显示在最前面(MDI如果是活动状态,自然在最前),在c++builder和delphi下很容易,在这里就是麻烦,结构变了感觉晕了!
请大家指点。
if(窗体已存在)
{
激活此窗体;
}
else
{
Login login=new Login();
login.show();
}
多谢!!!!!
解决方案 »
- 读取pdf文件并显示
- 项目方案咨询各位高手!
- 这个类,谁知道怎么用呢?
- C#使用HttpWebRequest发送大数据后,无法读取返回的文件流
- C# 连接oracle数据库字符串问题
- 表面上看很小儿科的问题,但就是难住我,制台 app.config 修改,怎么要重新编译
- .Net事件个人探索后的总结(在C#语言下)
- 如何处理一下空值objArray1麻烦给出代码?感激不尽
- C#2005中怎么没有DATAGRID控件呢,与DATAGRID控件相似的是那个控件,如何填充数据啊?
- 如何判断webbrowser 最后一次加载?
- 关于:\r\n 换行回车符的使用,成功的高手留答案,谢谢拉!
- 請問各位大哥,怎麼樣在asp.net中啟動.exe 或是.bat文件???
就不用这么麻烦了
Main()放在Login()里面。
方法一:先出登錄窗體體,再出主窗體
[STAThread]
static void Main()
{
Login login = new Login( );
login.ShowDialog();
if ( login.DialogResult == DialogResult.OK )
Application.Run( new mainInterface() );
}
用arraylist保存窗體,如下:
開始時 Arraylist arraylist = new ArrayList();
foreach( form f in arraylist)
{
if( f.GetType().Equals( System.Type.GetType( "namespace.login" )))
((login)f).Activate();
}
else
{
Login login=new Login();
login.show();
arraylist.add( login );
}
最後在login的closing 中寫入
namespace.arraylist.remove(this)
我发我的代码你参考一下
应该差不多
不过Vb.net是可以直接用全局变量的
dim sFrmParent as Form '--全局变量
dim CheckForm ,OpenForm as Form
先在父窗体load中
sFrmParent=me '----
'--下面是代码:
For Each CheckForm In sFrmParent.MdiChildren
If TypeOf CheckForm Is FrmLogin Then
CheckForm.Activate()
Exit Sub
End If
Next
OpenForm=New FrmLogin
OpenForm.MdiParent = sFrmParent
frOpenForm.Show()