c#界面设计 请问怎么才能实现如本论坛登陆后的效果呢?? 具体就是在对左边的控件操作时在右边的控件中显示和隐藏相应的页面,但这是基于C/S的程序。 希望能讲讲所用控件的布局方式以及代码的实现。 不要忘记使用的是C#哟!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用一个层.可以说是label,当登录成功就用label遮盖登录控件.这个比较简单. 用一个label,当登录成功后,用label遮住,这个方法应该算是很苯的. 是这样的,搂主是C# WinForm的,搂主可以把每个页面都做成一个窗体Form然后设置Form的TopLevel = false; 然后把这个Form添加到父容器中即可。其实,你搂主肯定看到过 一些软件的安装程序,都有“下一步”的操作然后每一步都会在同一窗体种显示不同的页面,就是这样实现的 注意每个页面(即:Form)的FormBordrStyle设置为没有标题栏 另外,搂主可以学习一下控件的Dock属性和Anthor属性,是关于界面布局的如果不清楚的话 把每个页面都做成一个窗体Form 然后设置Form的TopLevel = false; 然后把这个Form添加到父容器中即可。 每个页面(即:Form)的FormBordrStyle设置为没有标题栏 用panel也可以的吧和label类似 谢谢了!! 我已经成功的将窗体添加到了容器中,但同时也出现了另外的一个问题我没有解决,那就是我点击左边的按钮来显示相应的窗口时,那个窗口不能在容器中显示而跑到别处去了。不知道该用什么样的命令才能实现窗口在容器中显示??? 本人初学C#不久,很多的命令也不怎么的知道,我对按钮的点击事件是采取了先对要显示的窗口实例化,然后执行show命令,但窗体不能在容器中显示。我也觉得这样似乎欠妥,但不知该如何做,希能赐教!! 你能不能试试不要实例化它后SHOW出来,而是设计时画好这个控件,单击按钮然后把它的属性由隐藏改为显示? 回楼主8楼:在窗口显示之前,也就是在调用Show()方法之前,搂主要设置Location属性,和Size属性,或者是Bounds属性,来像控制普通控件的显示位置和大小一样控制窗口的位置和大小,即可。否则,窗口会显示在缺省位置,并以设计时的大小显示。 可以在容器中显示的,比如容器是一个 panel1 控件,那么就可以这样写:MyForm frm = new MyForm();frm.TopLevel = false;frm.FormBorderStyle = ...None;frm.Dock = DockStyle.Fill;这里没有设置location和size属性,而设置了dock属性也是一样的frm.Parent = this.panel1; 这里也可以这样:this.panel1.Controls.Add(frm);frm.Show();这样就可以显示在this.panel1容器里面了。 楼主不想销毁窗口的话,可以在frm.Show(); 后面加上frm.BringToFront();方法调用,把窗口显示到Z顺序之前 private void ShowForm(Type formType) { foreach (System.Windows.Forms.Form form in this.MdiChildren) { if (form.GetType() == formType) { if (form.WindowState == FormWindowState.Minimized || form.WindowState == FormWindowState.Maximized) { form.WindowState = FormWindowState.Normal; } form.Activate(); return; } } try { Form target = (Form)System.Activator.CreateInstance(formType); target.MdiParent = this; target.Show(); } catch (Exception ep) { } }把主窗体的IsMdiContainer设为true, 然后右边点按钮的时候把子窗体的类型传到这个方法, 这样就可以了. 左边用一个TreeView 显示树状分类,点击之后右边显示相应内容.如果用MDI可以将右侧设为客户区,然后通过不同的子窗口在右侧显示不同的内容;如果用普通窗口,右边可以放一些panel,通过显示其中一个,而隐藏其它来显示不同内容;也可以放一个panel,然后将具有相应内容的窗体显示在其中. 散分,关于Singleton模式 winform中的focus()和tabIndex的问题!! 关于在form中使用webBrowser时对于弹出页面的处理 类的内部就使用该类的类型是什么用法? 求比较不错的论坛c#(vs.net)源码 C#与sql server 2000 ;连接问题 求助各位高手,大侠.帮忙解决DataGrid分页问题 键盘事件的判断 在winFrom中能否实现文件上传到网站上? 20分相送,请高手帮忙! 求教:C#关于事件 C#制作的补丁生成器,用于项目补丁生成
这个比较简单.
然后设置Form的TopLevel = false;
然后把这个Form添加到父容器中即可。其实,你搂主肯定看到过 一些软件的安装程序,都有“下一步”的操作
然后每一步都会在同一窗体种显示不同的页面,就是这样实现的
如果不清楚的话
然后设置Form的TopLevel = false;
然后把这个Form添加到父容器中即可。
每个页面(即:Form)的FormBordrStyle设置为没有标题栏
和label类似
否则,窗口会显示在缺省位置,并以设计时的大小显示。
frm.TopLevel = false;
frm.FormBorderStyle = ...None;
frm.Dock = DockStyle.Fill;这里没有设置location和size属性,而设置了dock属性也是一样的
frm.Parent = this.panel1; 这里也可以这样:this.panel1.Controls.Add(frm);
frm.Show();这样就可以显示在this.panel1容器里面了。
frm.BringToFront();方法调用,把窗口显示到Z顺序之前
{
foreach (System.Windows.Forms.Form form in this.MdiChildren)
{
if (form.GetType() == formType)
{
if (form.WindowState == FormWindowState.Minimized || form.WindowState == FormWindowState.Maximized)
{
form.WindowState = FormWindowState.Normal;
} form.Activate();
return;
}
} try
{
Form target = (Form)System.Activator.CreateInstance(formType); target.MdiParent = this;
target.Show();
}
catch (Exception ep)
{
} }把主窗体的IsMdiContainer设为true, 然后右边点按钮的时候把子窗体的类型传到这个方法, 这样就可以了.
如果用MDI可以将右侧设为客户区,然后通过不同的子窗口在右侧显示不同的内容;
如果用普通窗口,右边可以放一些panel,通过显示其中一个,而隐藏其它来显示不同内容;
也可以放一个panel,然后将具有相应内容的窗体显示在其中.