窗体类型

窗体类型:
SDI MDI
单文档窗体界面,多文档窗体界面

一、单文档窗体界面:
有一个主窗体,其它的窗体是辅窗体和对话框。
主窗体一旦关掉,整个程序全部结束。

案例一:如何做登录?
1.确定好主窗体。在Program.cs文件中的Main函数,使用Application.Run()启动主窗体。
Application.Run(new Main());
2.做一个登录窗体。
登录验证完成后,不要关闭窗体,也不要显示主窗体。只需要给this.DialogResult赋个值即可。
private void button1_Click(object sender, EventArgs e)
{
//验证用户名和密码是否正确
if (textBox1.Text == "aaa" && textBox2.Text == "bbb")
{
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
else
{
textBox1.Text = "";
textBox2.Text = "";
}
}
3.在Program.cs的Main函数中,在Application.Run()运行主窗体之前,启动登录窗体(用对话框的形式启动)
如果对话框返回成功的标识时,就运行下面的Application.Run();
Form1 f = new Form1();
DialogResult result = f.ShowDialog();
if (result == DialogResult.OK)
{
Application.Run(new Main());
}

二、多文档窗体界面:
一个父窗体,里面包含多个子窗体。子窗体无法移到窗体外面,父窗体关掉子窗体全部关闭。
1.确定父窗体。设置父窗体的属性:IsMdiParent = true
2.做一个子窗体。
3.在窗体的代码中,实例化子窗体。
4.设置子窗体的属性:MdiParent,设置成父窗体对象
ChildForm f = new ChildForm();
f.MdiParent = this; //这里的this代表的就是父窗体对象。
5.显示子窗体
f.Show();

父窗体中的重要属性:
IsMdiParent - 是否是父窗体 bool
MdiChildren - 所有的子窗体的集合。 Form[]
ActiveMdiChild - 当前正在顶层的子窗体。 Form

案例一:使用菜单添加多个子窗体,关闭所有子窗体,关闭当前子窗体。
案例二:只生成一个子窗体。如果已经有了一个子窗体的话,就不再添加新的子窗体。

配置链接字符串:
在配置文件中。App.Config的<connectionStrings>配置节中配置链接字符串
每个链接配置都使用<add>添加,每个add中有name和connectionString两个属性
<connectionStrings>
<add name="conn" connectionString="server=.;database=mydb;uid=sa;pwd=123"/>
</connectionStrings>

读取配置文件中的连接字符串:
1.在解决方案管理器中右击项目,添加引用。System.Configuration
2.使用ConfigurationManager类来读取。
label1.Text = System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ConnectionString;

时间: 2024-08-03 14:40:41

窗体类型的相关文章

WINFORM--第五讲(窗体类型)

窗体类型:SDI MDI单文档窗体界面,多文档窗体界面 一.单文档窗体界面:有一个主窗体,其它的窗体是辅窗体和对话框.主窗体一旦关掉,整个程序全部结束. 案例一:如何做登录?1.确定好主窗体.在Program.cs文件中的Main函数,使用Application.Run()启动主窗体.Application.Run(new Main());2.做一个登录窗体. 登录验证完成后,不要关闭窗体,也不要显示主窗体.只需要给this.DialogResult赋个值即可.DialogResult 表示窗口

C#-Winform窗体类型为None,设置移动效果

//记得一定导入模块 using System.Runtime.InteropServices; /** * 窗体移动API */ [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImport("user32.dll")] public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam,

Android应用程序窗体设计框架介绍

在Android系统中,一个Activity相应一个应用程序窗体.不论什么一个Activity的启动都是由AMS服务和应用程序进程相互配合来完毕的.AMS服务统一调度系统中全部进程的Activity启动,而每一个Activity的启动过程则由其所属进程来完毕.AMS服务通过realStartActivityLocked函数来通知应用程序进程启动某个Activity: frameworks\base\services\java\com\android\server\am\ ActivityStac

创建新的窗体类

到目前为止,我们看到的程序还只是脚本风格,用现有的窗体和控件,快速把窗体放在一起.这种编程风格可用于快速开发单一窗体的应用程序,但是,对于快速创建有多个窗体组成的应用程序,或者创建窗体库以用于其他 .NET 语言时,就会受到限制:在这些情况下,必须采取一种更面向组件(component-oriented)的方法. 通常,创建一个大型的 Windows  窗体应用程序时,有一些窗体需要重复使用:此外,通常希望这些窗体能够相互通信,通过调整彼此的属性或调用彼此的方法.通常是定义新的窗体类,从 Sys

WindowsForm 窗体属性和控件

一窗体属性 1 布局 (1)Autoscoll  --滚动条 (2)AutoSize   --自动调节大小以适用内容大小 (3)Location和 StartPosition (确定窗体第一次出现的位置) ①CenterParent(窗体在其父窗体中居中) ②CenterScreen ( 窗体在当前显示窗口中居中) ③Manual (窗体的位置由 Location 属性确定) ④WindowsDefaultBounds  (窗体定位在 Windows默认位置,其边界也由Windows默认决定);

在Winform界面中实现对多文档窗体的参数传值

在Winform界面中窗体我们一般使用多文档进行展示,也就是类似一般的选项卡的方式可以加载多个窗体界面.一般来说,我们如果打开新的窗体,给窗体传递参数是很容易的事情,但是在框架层面,一般的窗体是通过动态创建的,一般传入窗体的类型,在多文档集合里面判断,如果存在则激活,如果不存在则创建的方式,所以我们传递参数会碰到一些问题.本文即使介绍如何在这种方式下,给窗体对象传递参数,从而实现相应的数据处理功能. 不管是主体界面中,左侧包含树形列表,还是顶部包含工具栏的情况,都可能涉及打开窗体的时候,传递一些

Android应用Activity、Dialog、PopWindow、Toast窗体加入机制及源代码分析

[工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处.尊重劳动成果] 1 背景 之所以写这一篇博客的原因是由于之前有写过一篇<Android应用setContentView与LayoutInflater载入解析机制源代码分析>.然后有人在文章以下评论和微博私信中问我关于Android应用Activity.Dialog.PopWindow载入显示机制是咋回事,所以我就写一篇文章来分析分析吧(本文以Android5.1.1 (API 22)源代码为基础分析),以

窗体之间的传递

private List<Student> stufrmadd = new List<Student>(); //实例化一个List<Student>集合,用以接收从主窗体传递过来的stu集合 private FrmUI frmuiadd; //定义一个主窗体类型,用以接收从主窗体传递的实际对象 private void btnAdd_Click(object sender, EventArgs e) //主窗体中点击弹出次窗体的事件 { FrmUI frmui=thi

多窗体、窗体传值、打开唯一窗体操作

一.打开多子窗口 在控件中实例化要打开的窗体,再调方法show 例:在按钮中打开f2窗体 form2 f2=new form2() f2.show() 二.构造函数传值 1.在实例化中添加参数,展示信息类型,打开窗体类型 2.要打开窗体中构造函数接受 三.打开窗口唯一 1.实例化要打开窗口,并放到类型集合中 2.判断窗口是否在集合中,不在打开 3.构造函数传父级窗口 4.子级窗口关闭时调删除集合中子级窗口方法 例: