做一个登录窗口,登录成功时关闭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 更换主窗体的例子的更多相关文章

  1. C#WinForm窗体内Panel容器中嵌入子窗体、程序主窗体设计例子

    C#WinForm父级窗体内Panel容器中嵌入子窗体.程序主窗体设计例子 在项目开发中经常遇到父级窗体嵌入子窗体所以写了一个例子程序,顺便大概划分了下界面模块和配色,不足之处还望指点 主窗体窗体采用 ...

  2. winform(三)——更换主窗体例子

    做一个登录窗口,登录成功时关闭form1,展示from2界面 1.主界面Login namespace WindowsFormsApplication1 { public partial class ...

  3. 【winform】主窗体多线程给子窗体传值

    1.主窗体多线程给子窗体传值 解决方案:主要使用委托,因为会出现跨线程错误 主窗体 public FormMain() { InitializeComponent(); //background th ...

  4. C#--WinForm项目主窗体设计

    主窗体基本设置 大小.颜色.去边框.出现的位置 Panel控件 背景图.颜色.布局: Label标签 文本.字体.背景颜色.布局 按钮 布局.文本.字体颜色.背景色. 底部panel绑定控件边框.颜色 ...

  5. Winform 主窗体更换 构造函数传值

    制作登录窗体: 制作一个登陆窗体,实现点击按钮关闭此窗体并打开另一个窗体 直接在按钮点击事件中,实例化一个想要打开的窗体 使用show方法打开,并把登陆窗体的visible属性改为false Form ...

  6. WinForm 之 程序启动不显示主窗体

    在 WinForm 程序启动时,不显示主窗体的实现方法主要有以下5种,第五种最简单,而且效果也不错,第四种方法也值得推荐. 实例代码如下: //隐藏窗体的方法1/5:不指定任何窗体为主窗体 //注意: ...

  7. Winform主窗体设计

    主窗体顶部为菜单按钮,子窗体内嵌入Panel显示 界面如下: 第二步,主窗体离不开的几个方法 1,点击菜单功能,加载子窗体 private void btnOpenForm_Click(object ...

  8. Winform主窗体的设置

    软件必然涉及到一个主窗体MainForm,下面介绍一下几个简单的属性设置,可能比较有用 (1)icon,当然是咱们软件的图标了,设置上去即可 (2)isMdiContainer,这个比较重要了哦,必须 ...

  9. c# winform 窗体 对话框绑定的值如何填到主窗体问题

    这段代码放在主窗体中 private void txt_KeJiaAModel_DoubleClick(object sender, EventArgs e) { TimerEvent(); } // ...

随机推荐

  1. spring mvc3中JACKSON序列化日期格式的问题 - 墙头草的Java - BlogJava

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  2. AWK第一篇------全面介绍

    AWK-文本流编辑器 目录 [隐藏] 1 命令行语法 2 用shell实现调用awk 3 awk语言概要 3.1 记录和字段 3.2 脚本的格式 3.3 行为终止 3.4 注释 3.5 模式 3.6  ...

  3. android测试之——mokeyrunner上(二)

    以下是本人原创,如若转载和使用请注明转载地址.本博客信息切勿用于商业,可以个人使用,若喜欢我的博客,请关注我,谢谢!博客地址 感谢您支持我的博客,我的动力是您的支持和关注!如若转载和使用请注明转载地址 ...

  4. 使用Java操作文本文件的方法详解

    使用Java操作文本文件的方法详解 摘要: 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而 ...

  5. function $(id){ return document.getElementById(id); }导致所有的js不能用解决办法。。。。

    function $(id){ return document.getElementById(id); } document.getElementById(id) 是获得id这个元素的. 相当于定义了 ...

  6. Mac搭建Hadoop源码阅读环境

    1.本次Hadoop源码阅读环境使用的阅读工具是idea,Hadoop版本是2.7.3.需要安装的工具包括idea.jdk.maven.protobuf等 2.jdk,使用的版本是1.8版,在jdk官 ...

  7. Base64图片与UIImage的相互转化

    http://blog.csdn.net/fudesign2008/article/details/38903085 Base64图片 -> UIImage - (UIImage *) data ...

  8. js - AO链 与 function

    先来看一下demo,如果你已经看出三个console.log分别输出什么.那直接关闭此笔记 function t(age) { console.log(age); var age = 99; cons ...

  9. Centos 修改时间地区及NTP同步北京时间

    在我们使用CentOS系统的时候,也许时区经常会出现问题,有时候改完之后还是会出错,下面我们就来学习一种方法来改变这个状况.如果没有安装,而你使用的是 CentOS系统 那使用命令 yum insta ...

  10. FB面经 Prepare: All Palindromic Substrings

    Given a string, calculate how many substring is palindrome. Ignore non-char characters. Ignore case; ...