WinForm 更换主窗体的例子
做一个登录窗口,登录成功时关闭form1,展示from2界面
1.主界面Login
namespace WindowsFormsApplication1
{
public partial class Login : Form
{
public string username;//定义一个变量给子窗体传值
public Login()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
//取出用户名和密码
string uid = txtuid.Text;
string pwd = txtpwd.Text; if (uid != "" && pwd != "")
{
LoginDA da = new LoginDA(); //连接数据库
if (da.DengLu(uid, pwd)) //登录查询
{ //将用户名赋值给成员变量username
username = uid;
//将该窗体的返回值变为OK
this.DialogResult = DialogResult.OK;
//将该窗体关闭
this.Close(); }
else
{
MessageBox.Show("用户名或密码错误!");
}
}
else
{
MessageBox.Show("用户名和密码不能为空!");
}
} private void Login_Load(object sender, EventArgs e)
{ }
}
}
2.Program.cs 修改主主窗体Login变为Main
namespace WindowsFormsApplication1
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); //造一个登录窗体
Login log = new Login(); if (log.ShowDialog() == DialogResult.OK)
{
Application.Run(new Main(log.username));//main窗体的构造方法
}
}
}
}
3.Main窗体
namespace WindowsFormsApplication1
{
public partial class Main : Form
{
private string uid;//造一个变量接收Login窗体的值
private ChinaDA cda;
public Main()
{
InitializeComponent();
}
public Main(string username)
{
InitializeComponent();
uid = username; cda = new ChinaDA();//连接数据库
} private void Main_Load(object sender, EventArgs e)
{
label1.Text = uid;//把接收到的值传给label1显示一下 //填充省的下拉列表
FillSheng(); //填充市的下拉列表
FillShi(); //填充区的下拉列表
FillQu(); } private void cmbsheng_SelectedIndexChanged(object sender, EventArgs e)
{
//填充市的下拉列表
FillShi(); //填充区的下拉列表
FillQu();
} private void cmbshi_SelectedIndexChanged(object sender, EventArgs e)
{
//填充区的下拉列表
FillQu();
} //填充省的方法
public void FillSheng()
{
List<China> list = cda.Select(""); cmbsheng.DataSource = list;
cmbsheng.DisplayMember = "Name";
cmbsheng.ValueMember = "Code";
} //填充市的方法
public void FillShi()
{
List<China> list = cda.Select(cmbsheng.SelectedValue.ToString()); cmbshi.DataSource = list;
cmbshi.DisplayMember = "Name";
cmbshi.ValueMember = "Code";
} //填充区的方法
public void FillQu()
{
List<China> list = cda.Select(cmbshi.SelectedValue.ToString()); cmbqu.DataSource = list;
cmbqu.DisplayMember = "Name";
cmbqu.ValueMember = "Code";
} private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(cmbsheng.SelectedValue.ToString());
}
}
}
WinForm 更换主窗体的例子的更多相关文章
- C#WinForm窗体内Panel容器中嵌入子窗体、程序主窗体设计例子
C#WinForm父级窗体内Panel容器中嵌入子窗体.程序主窗体设计例子 在项目开发中经常遇到父级窗体嵌入子窗体所以写了一个例子程序,顺便大概划分了下界面模块和配色,不足之处还望指点 主窗体窗体采用 ...
- winform(三)——更换主窗体例子
做一个登录窗口,登录成功时关闭form1,展示from2界面 1.主界面Login namespace WindowsFormsApplication1 { public partial class ...
- 【winform】主窗体多线程给子窗体传值
1.主窗体多线程给子窗体传值 解决方案:主要使用委托,因为会出现跨线程错误 主窗体 public FormMain() { InitializeComponent(); //background th ...
- C#--WinForm项目主窗体设计
主窗体基本设置 大小.颜色.去边框.出现的位置 Panel控件 背景图.颜色.布局: Label标签 文本.字体.背景颜色.布局 按钮 布局.文本.字体颜色.背景色. 底部panel绑定控件边框.颜色 ...
- Winform 主窗体更换 构造函数传值
制作登录窗体: 制作一个登陆窗体,实现点击按钮关闭此窗体并打开另一个窗体 直接在按钮点击事件中,实例化一个想要打开的窗体 使用show方法打开,并把登陆窗体的visible属性改为false Form ...
- WinForm 之 程序启动不显示主窗体
在 WinForm 程序启动时,不显示主窗体的实现方法主要有以下5种,第五种最简单,而且效果也不错,第四种方法也值得推荐. 实例代码如下: //隐藏窗体的方法1/5:不指定任何窗体为主窗体 //注意: ...
- Winform主窗体设计
主窗体顶部为菜单按钮,子窗体内嵌入Panel显示 界面如下: 第二步,主窗体离不开的几个方法 1,点击菜单功能,加载子窗体 private void btnOpenForm_Click(object ...
- Winform主窗体的设置
软件必然涉及到一个主窗体MainForm,下面介绍一下几个简单的属性设置,可能比较有用 (1)icon,当然是咱们软件的图标了,设置上去即可 (2)isMdiContainer,这个比较重要了哦,必须 ...
- c# winform 窗体 对话框绑定的值如何填到主窗体问题
这段代码放在主窗体中 private void txt_KeJiaAModel_DoubleClick(object sender, EventArgs e) { TimerEvent(); } // ...
随机推荐
- python+django+bootstrap
python install django 置环境变量,将这个目录添加到系统环境变量中: C:\Python36\Lib\site-packages\django\ cmd下测试: 1.输入pytho ...
- 对于形式参数只能用final修饰符,其它任何修饰符都会引起编译器错误
在Java中修饰符总共有一下几种: 1.访问控制修饰符 分别有:public private protected,缺省 2.其它修饰符 分别有:abstract,final,stati ...
- LAMP优化
LAMP系统优化是非常必要的,一个好的优化能使系统运作的越快,从而提高工作效率,下面我将从几方面给大家详细介绍下LAMP系统优化的内容. 一.硬件优化 1.升级硬件的一般规则:对于 PHP 脚本而言, ...
- CodeForces 626D Jerry's Protest
计算前两盘A赢,最后一盘B赢的情况下,B获得的球的值总和大于A获得的球总和值的概率. 存储每一对球的差值有几个,然后处理一下前缀和,暴力枚举就好了...... #include<cstdio&g ...
- 19、手把手教你Extjs5(十九)模块Grid的其他功能的设想
经过对自定义模块和Grid的设计和编码,现在已经能对一个有配置信息的模块来生成界面并进行一些简单的CURD操作.由于这是一个全解释性的前台的架构,因此你想到的任何新主意都可以放到所有的模块中. 比如对 ...
- MySQL的char和varchar
一.VARCHAR与CHAR字符型数据的差异 在MySQL数据库中,用的最多的字符型数据类型就是Varchar和Char,这两种数据类型虽然都是用来存放字符型数据,但是无论从结构还是从数据的保存方式来 ...
- c++读取REG_MULTI_SZ类型注册表
First: run RegQueryValueEx to get type and necessary memory size: Single byte code: DWORD type, size ...
- 【转】20条Linux命令面试问答
问:1 如何查看当前的Linux服务器的运行级别? 答: ‘who -r’ 和 ‘runlevel’ 命令可以用来查看当前的Linux服务器的运行级别. 问:2 如何查看Linux的默认网关? 答: ...
- python实现二叉树
初学python,需要实现一个决策树,首先实践一下利用python实现一个二叉树数据结构.建树的时候做了处理,保证建立的二叉树是平衡二叉树. # -*- coding: utf-8 -*- from ...
- add jars和add external jars有什么区别
原文add jars和add external jars有什么区别? add jars和add external jars有什么区别? add external jars = 增加工程外部的 ...