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("0001");

            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());
        }
    }
}
时间: 2024-11-03 12:32:47

winform(三)——更换主窗体例子的相关文章

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

制作登录窗体: 制作一个登陆窗体,实现点击按钮关闭此窗体并打开另一个窗体 直接在按钮点击事件中,实例化一个想要打开的窗体 使用show方法打开,并把登陆窗体的visible属性改为false Form1 f1 = new Form1(); f1.Show(); this.Visible = false; 登陆界面 namespace WindowsFormsApplication1 { public partial class Login : Form { public string usern

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

在 WinForm 程序启动时,不显示主窗体的实现方法主要有以下5种,第五种最简单,而且效果也不错,第四种方法也值得推荐. 实例代码如下: //隐藏窗体的方法1/5:不指定任何窗体为主窗体 //注意:通常,在一个程序中,关闭主窗体,就可以关闭应用程序. //但是在没有主窗体中,不行. //只能使用Application.Exit()才能关闭应用程序. //using可以保证Application结束前,关闭MyMainForm using (new Form1()) { Application.

Winform主窗体的设置

软件必然涉及到一个主窗体MainForm,下面介绍一下几个简单的属性设置,可能比较有用 (1)icon,当然是咱们软件的图标了,设置上去即可 (2)isMdiContainer,这个比较重要了哦,必须设置为true,那菜单调用出来的窗体就是主窗体的子窗体了哦 (3)MainMenuStrip,这是主窗体的菜单了,要选择一个咱们放到窗体上的菜单,菜单的设置后面介绍 (4)ShowInTaskBar,呵呵,设为true了,这样我们的软件运行起来就会在windows的任务栏上出现,对于大多数人来说这个

WinForm MDi子窗体最大化导致子窗体标题栏和主窗体菜单栏合并问题的解决方法

在主窗体菜单栏的ItemAdded事件中编写如下代码: *msMain是我的主窗体菜单栏的Name属性值 //子窗体最大化不显示图标 private void msMain_ItemAdded(object sender, ToolStripItemEventArgs e) { if (e.Item.Text.Length == 0) { e.Item.Visible = false; } else { e.Item.Visible = true; } } 说明: 打开的子窗体最大化的时候,菜单

传窗体(例子是点完修改页面的修改后,直接在主窗体显示修改后的内容,不用再点一次查询)

private void button3_Click(object sender, EventArgs e) { if(listView1.SelectedItems.Count>0) { string x = listView1.SelectedItems[0].Text; supdate f = new supdate(this,x); //this是当前窗体,就是主窗体 f.Show(); } } private Score Y; private string X; public supd

C# Winform 登陆窗体跳转到主窗体,登陆窗体隐藏

不多说,直接上代码: //Login窗体隐藏 Login.Hide(); //声明主窗体 Main main = new Main(); //主窗体显示 main.ShowDialog(); //Login窗体关闭 this.Close(); 菜鸟整理,大虾勿喷,希望大虾不吝指教.

Winform主窗体设计

主窗体顶部为菜单按钮,子窗体内嵌入Panel显示 界面如下: 第二步,主窗体离不开的几个方法 1,点击菜单功能,加载子窗体 private void btnOpenForm_Click(object sender, EventArgs e)        {            try            {                string frmName = ((ButtonX)sender).Tag.ToString();                CloseForm()

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

主窗体基本设置 大小.颜色.去边框.出现的位置 Panel控件 背景图.颜色.布局: Label标签 文本.字体.背景颜色.布局 按钮 布局.文本.字体颜色.背景色. 底部panel绑定控件边框.颜色 用label标签导入图标 SplitContainer容器 拖放时直接放不好操作设置属性: 设置不绑定到容器的边框 设置颜色 拖放调整合适大小: 固定左边panel1 不可拖动: 禁止全部panel不可拖动: 设置间距距离 左边框按钮 美化方法嵌入子窗体的设计 设置大小 和去除边框 组合框的俩种设

主窗体里面打开子窗体&amp;&amp;打印饼图《Delphi 6数据库开发典型实例》--图表的绘制

\Delphi 6数据库开发典型实例\图表的绘制 1.在主窗体里面打开子窗体:ShowForm(Tfrm_Print); procedure Tfrm_Main.ShowForm(AFormClass:TFormClass);begin with AFormClass.Create(Self) do try ShowModal;  // 阻塞或者模态窗口,只有你把当前窗口关闭后,才能去操作父亲窗口. finally Free; end;end; //这个例子打开有异常,提示单元chart 引用本