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(); } // ...
随机推荐
- Initialization of bean failed; nested exception is java.lang.reflect.MalformedParameterizedTypeExcep
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- CodeForces 617E XOR and Favorite Number
莫队算法. #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> ...
- Identifying Dialogue Act Type
Natural Language Processing with Python Chapter 6.2 import nltk from nltk.corpus import nps_chat as ...
- RunLoop基础
序言 RunLoop一直是比较高级而又比较神秘的技术,一直以来都没有深入去阅读过苹果给出的官方文档.本篇文章就讲讲苹果官方文档中所介绍的RunLoop,再加上其开源性,让我们一起深入去研究其特性及与线 ...
- 如何在微软Hyper-V下发挥SQL Server最大功效
要建设稳定运行的虚拟化SQL Server系统,关键是确保虚拟化管理软件配置能提供数据库所需的资源.SQL Server是CPU密集型技术,因此支撑它的虚拟机需要能获得充足的处理器资源,同时不能引起与 ...
- 重启机器解决SSL都要输入密码问题
在Nginx或Apache设置了SSL加密后,发现每次重启服务器后都要输入证书设置的密码,比较麻烦,不然Nginx或Apache无法使用,这时可以用私钥来做这件事.生成一个解密的key文件,替代原来k ...
- 【转】高性能服务器架构(High-Performance Server Architecture)
High-Performance Server Architecture 高性能服务器架构 来源:http://pl.atyp.us/content/tech/servers.html译文来源:htt ...
- 无锁同步-JAVA之Volatile、Atomic和CAS
1.概要 本文是无锁同步系列文章的第二篇,主要探讨JAVA中的原子操作,以及如何进行无锁同步. 关于JAVA中的原子操作,我们很容易想到的是Volatile变量.java.util.concurren ...
- Bzoj3473
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3473 题解:待更 代码:待更 开始时间: 结束时间:
- OC纯代码全手工打造ScroolView实现翻页
OC纯代码全手工打造ScroolView实现翻页 1. 概述 分为三部分: 上部标题ScrollView 下部内容ScrollView 上部当前页 标示线 2. 效果 上下两部分都随着手势的滑动一块滑 ...