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(); } // ...
随机推荐
- mysql安装使用----1 安装和启动
1 安装 Fedora16/17 Mysql 安装及配置 1.安装 Mysql Server # yum install mysql mysql-server 2.开启 MySQL server 及开 ...
- logback配置
好吧,项目中一直使用的是logback做日志记录. 开始跑Demo的时候,一直会报Failed to load class org.slf4j.impl.StaticLogger的错误.后来googl ...
- iOS开发——九切片
这个虽然就我来说,感觉它没啥用,但还是放这吧,有时间了把内容补上.
- 【转】C\C++代码优化的27个建议
1. 记住阿姆达尔定律: funccost是函数func运行时间百分比,funcspeedup是你优化函数的运行的系数. 所以,如果你优化了函数TriangleIntersect执行40%的运行时间, ...
- javap -s 查看java方法签名
工程先用eclipse生成class目录,转到class目录下执行: javap -s com.example.hellojni.MainActivity Compiled from "Ma ...
- 每个Javascript开发者都应当知道的那些事
每个Javascript开发者都应当知道的那些事 2015-06-07 前端大全 (点击上方蓝字,可快速关注我们) Javascript是一种日益增长的语言,特别是现在ECMAScript规范按照每年 ...
- cookie设置
问题: cookie设置好后,谷歌浏览器下-->只有本页面有值,但是在其它浏览器下正常. $.cookie("userName",$("#loginName&quo ...
- Unity3D ——强大的跨平台3D游戏开发工具(一)
众所周知,Unity3D是一个能够实现轻松创作的多平台的游戏开发工具,是一个全面整合的专业游戏引擎.在现有的版本中,其强大的游戏制作功能已 经达到让人瞠目结舌的地步.尤其是它在3.0版本里面制作的那款 ...
- cocoaPods的安装使用 以及 Carthage
http://cnbin.github.io/blog/2015/05/25/cocoapods-an-zhuang-he-shi-yong/ 按照这个步骤就OK Note:当引入已有的project ...
- 洛谷 P1359 租用游艇
题目描述 长江游艇俱乐部在长江上设置了n 个游艇出租站1,2,-,n.游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇.游艇出租站i 到游艇出租站j 之间的租金为r(i,j),1& ...