精华内容
下载资源
问答
  • C#窗体设计

    2015-10-06 11:45:37
    我想做一个C#窗体,像QQ主页面板上点一个图标就进入一个界面是怎么实现的?[img=https://img-bbs.csdn.net/upload/201510/06/1444103055_646112.png][/img]
  • 20个C#窗体设计实例

    2014-04-18 12:51:09
    20个超赞的C#窗体设计实例,qq窗体,自定义屏保,滚动字幕……
  • C# 窗体设计软件 源码

    2012-02-05 12:56:04
    一个实用的实现C# WinForm窗体设计的软件 源码,可以把设计好的窗体导出为xml,C#,VB
  • 【可视化编程】实验3:C#窗体设计及使用

    万次阅读 多人点赞 2018-04-12 15:13:31
    说明:这是武汉理工大学计算机学院【可视化编程C#】课程的第三次实验代码:C#窗体设计及使用 >>点击查看WUTer计算机专业实验汇总 谨记:纸上得来终觉浅,绝知此事要躬行。 实验目的  掌握C#的MDI窗体...
    • 说明:这是武汉理工大学计算机学院【可视化编程C#】课程的第三次实验代码:C#窗体设计及使用
    • >>点击查看WUTer计算机专业实验汇总
    • 谨记:纸上得来终觉浅,绝知此事要躬行。

    实验目的

      掌握C#MDI窗体设计,一个主窗体、多个子窗体间的切换。掌握窗体中基本的控件设计方法,  labeltextboxgroupboxradiobuttoncomboBoxbutton等。掌握Messagebox的使用方法。

    实验内容

      1、设计MDI窗体,一个主窗体,登录子窗体输入用户名和密码(系统设置默认用户登录信息:whut1234),如果用户名密码正确,消息框提示登录成功。如果用户名不正确,提示需先注册。如果密码错误,提示密码有误。

     

     

     

      2、注册子窗体设计,包括用户名、密码、确认密码(textbox)、性别(groupboxradiobutton)、专业(comboBox)等信息。点击“确认”按钮,如果用户名不为空,密码和确认密码一致,提示注册成功,并显示注册信息。否则提示错误信息。点击“重置”按钮,清空控件中的内容。点击“登录”按钮,回到登录窗体。

     

    实验方案

    1、新建一个Windows窗体应用,文件名:实验3:窗体设计及使用;

    2、将初始生成的项重命名为:BackForm.cs,然后再新建两个项,名字分别为:LoginForm.cs(登陆界面),RegisterForm.cs(注册界面);

    3、项BackForm.cs 界面设计如下:

      如上图,重命名是为了好记;在【属性栏】中将BackForm.cs的【ISMDIContainer】属性设置为“True”,该窗体就成为一个MDI父窗体;【Text】属性中输入窗口的名字。

    4、LoginForm.cs(登陆界面)界面设计如下:

      将上图各个插件进行重命名操作是为了便于记忆,防止名字类似而记混。
      如果想将密码输入框设置为输入文本不可见格式,可将 UserPassword 控件的【PasswordChar】属性设置为“*”(即输入一个星号)即可。

    5、RegisterForm.cs(注册界面)界面设计如下:

      将上图各个插件重命名为如图所示名称。其中将Major控件的【DropDownStyle】设置为“DropDownList”,即该下拉框只能选择而不能输入文字。

     

    实验代码:

     

    将各个控件按照上图命名完毕后,双击需要执行操作的按键,即可进入相应的代码输入框;

    1、父窗口界面源代码

      BackForm.cs:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace 实验3_窗体设计及使用
    {
        public partial class BackForm : Form
        {
            public BackForm()
            {
                InitializeComponent();
                LoginForm loginForm = new LoginForm();
                loginForm.MdiParent = this;
                loginForm.Show();
            }
    
            private void BackForm_Load(object sender, EventArgs e)
            {
    
            }
        }
    }
    

     

     

     

    2、登陆界面源代码:


      登陆界面,只需要双击【登陆】按键即可进入代码输入界面

    详细源代码如下:
      LoginForm.cs:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace 实验3_窗体设计及使用
    {
     
        public partial class LoginForm : Form
        { 
            public LoginForm()
            {
                InitializeComponent();
            }
    
            //点击【登录】操作
            private void Login_Click(object sender, EventArgs e)
            {
                //从用户名和密码文本框中读取字符串
                String userName = UserName.Text;
                String userPassword = UserPassword.Text;
    
                //如果用户没有输入用户名就点击登录按键,提示注册
                if(userName.Length == 0){
                    DialogResult result = MessageBox.Show("用户名为空,是否注册新用户?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if(result == DialogResult.Yes)
                    {
                        RegisterForm registerForm = new RegisterForm();
                        registerForm.MdiParent = this.MdiParent;
                        registerForm.Show();
                        this.Hide();
                    }
                }
                else
                {
                    //如果密码框为空
                    if (userPassword.Length == 0)
                    {
                        MessageBox.Show("请输入密码!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    else
                    {
                        //匹配用户名和密码的正确性,如果正确:
                        if (String.Equals(userName, UserInfo.userName) && String.Equals(userPassword,UserInfo.userPassword)){
                            MessageBox.Show("登录成功!\n欢迎您,"+UserInfo.userName,"提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                            this.Hide();
                        }
                        //如果密码错误:
                        else if (String.Equals(userName, UserInfo.userName) && !String.Equals(userPassword, UserInfo.userPassword))
                        {
                            MessageBox.Show("密码错误!","提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                        //如果该用户名不存在:
                        else
                        {
                            DialogResult result = MessageBox.Show("该用户不存在,是否注册新用户?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                            if (result == DialogResult.Yes)
                            {
                                RegisterForm registerForm = new RegisterForm();
                                registerForm.MdiParent = this.MdiParent;
                                registerForm.Show();
                                this.Hide();
                            }
                        }
                    }
                }
    
            }
        }
    
        //全局变量,初始默认用户信息
        static class UserInfo
        {
            public static String userName = "whut";
            public static String userPassword = "1234";
            public static String userSex = "男";
            public static String Major = "计算机学院!";
    
        }
    }
    

     

    3、注册界面源代码:


    只需要双击上图所示的三个按键即可进入相应的代码编辑区:

    详细代码如下:

    RegisterForm.cs

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace 实验3_窗体设计及使用
    {
        public partial class RegisterForm : Form
        {
            public RegisterForm()
            {
                InitializeComponent();
            }
    
            //注册操作
            private void Sure_Click(object sender, EventArgs e)
            {
                if(RUserName.Text.Length == 0)
                {
                    MessageBox.Show("请输入用户名!", "提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
                }
                else
                {
                    if(RUserPassword.Text.Length == 0)
                    {
                        MessageBox.Show("请输入新密码!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    else if(RUserPassword2.Text.Length == 0)
                    {
                        MessageBox.Show("请确认新密码!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    else if ( !String.Equals(RUserPassword.Text,RUserPassword2.Text))
                    {
                        MessageBox.Show("密码输入不一致!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    else
                    {
                        //如果已选择性别
                        if(SexM.Checked || SexW.Checked)
                        {
                            if (Major.SelectedIndex != -1)
                            {
                                UserInfo.userName = RUserName.Text;
                                UserInfo.userPassword = RUserPassword.Text;
                                UserInfo.Major = Major.Text;
    
                                if (SexM.Checked)
                                {
                                    UserInfo.userSex = "男";
                                }
                                else
                                {
                                    UserInfo.userSex = "女";
                                }
    
                                MessageBox.Show("注册成功!" +
                                    "\n用户名:" + UserInfo.userName +
                                    "\n密 码:"+UserInfo.userPassword +
                                    "\n性 别:"+UserInfo.userSex +
                                    "\n专 业:"+UserInfo.Major, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                            }
                            else
                            {
                                MessageBox.Show("请选择专业!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            }
                        }
                        else
                        {
                            MessageBox.Show("请选择性别!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                }
            }
    
            //重置操作
            private void Reset_Click(object sender, EventArgs e)
            {
                RUserName.Text = "";
                RUserPassword.Text = "";
                RUserPassword2.Text = "";
                SexM.Checked = false;
                SexW.Checked = false;
                Major.SelectedIndex = -1;
    
                UserInfo.userName = "";
                UserInfo.userPassword = "";
                UserInfo.userSex = "";
                UserInfo.Major = "";
    
                MessageBox.Show("重置成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
    
            //返回登录操作
            private void Back_Click(object sender, EventArgs e)
            {
                LoginForm loginForm = new LoginForm();
                loginForm.MdiParent = this.MdiParent;
                loginForm.Show();
                this.Hide();
            }
        }
    }
    

      注:此代码注册时并没有对用户名和密码的输入字符格式进行限制,可在此基础上加上输入字符的判断方法(如:禁止输入空格或者其他特殊字符,密码长度最低4位等)。

    运行结果:

     

      部分运行界面如上图。

    展开全文
  • 本资源包括C#窗体设计 窗体基本操作、高级操作、菜单、工具栏和状态栏的设计等方面的实例附加源代码。。
  • C#窗体设计经典案例(1-8讲)合集 包括窗体透明,皮肤,窗体控件随窗体变化,窗体间通信的集中方法,窗体的编程步骤等。
  • c# 窗体设计器源码

    2009-12-22 17:50:45
    c# 可扩展的窗体设计器源码源码源码源码
  • C# 窗体设计器 变成.cs类文件 解决思路如果你既没有胡乱修改控件事件代码没有编译错误,也没有随意修改.csproj请往下看错误的示范正确示范 如果你既没有胡乱修改控件事件代码没有编译错误,也没有随意修改.csproj请...

    如果你既没有胡乱修改控件事件代码没有编译错误,也没有随意修改.csproj请往下看

    注意不要在Form.cs中的Form类上方添加任何新的class,实在需要请添加在其下方。否则编译器会识别不到窗体类,从而将其显示为.cs文件

    错误的示范

    在这里插入图片描述在这里插入图片描述

    正确示范

    正确显示问题
    在这里插入图片描述

    展开全文
  • C#窗体设计基础学习

    千次阅读 2019-06-08 00:18:00
    C#学习: .NET Framework微软官网解析地址:https://docs.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838194(v%3dvs.95) 取消右上角的最大化、最小化、关闭按钮...

    C#学习:

    .NET Framework微软官网解析地址https://docs.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838194(v%3dvs.95)

    取消右上角的最大化、最小化、关闭按钮,点击对应属性设为false,删除text后则顶部一行全消失

    this.FormBorderStyle = FormBorderStyle.FixedDialog;//设置边框为不可调节
    this.MaximizeBox = false;//取消最大化按键
    this.MinimizeBox = false;//取消最小化按键
    this.ControlBox = false; // 设置不出现关闭按钮

    添加主菜单menustrip控件会自动显示在界面的最上方,可以点击添加对应的菜单按钮,比如添加【文件】菜单

    Panel 是支持应用程序布局中的所有元素的基类Windows Presentation Foundation (WPF)。

    子窗口选择tabPage:右键“添加选项卡”,每个选项卡对应在下面添加显示类容。如下分别点第一个和第二个时显示不同

    toolStrip软件第二行添加的“功能”,可以添加按键、字体、字符按钮等多种功能,在右边“外观”》“DisplayStyle”中选择显示方式(图面、图片加文字、文字、空),可以放到上面tabPage中使用

    StatusStrip 状态栏:添加分割线最底下显示https://www.cnblogs.com/yieryi/p/4602765.html

    groupbox控件小组:就是把一些控件组成小组放在一起,拖动时会整体移动

    点动弹出对话框MessageBox.Show("点击后处理逻辑");https://www.cnblogs.com/doget/p/7955786.html

    选中对话框CheckBox:对应使用if (((CheckBox)sender).Checked) MessageBox.Show("选中我了");

    下拉列表框comboBox:剪辑展开有多个选项。comboBox.SelectedIndex选中第几个;comboBox.DataSource显示可选类容设置;comboBox.Items.Add()添加选项类容

    RadioButton单选控件:当同一个容器中(Form、Panel、GroupBox、PictureBox等)存在两个以上的单选按钮时,只能有一个被选中。被选中,Checked的值为true,否则为false。

    lable无边框文字显示,也可以显示图片:lable.Text =  "abcd" + xxx.Text;背景颜色设为透明label1.BackColor=Color.Transparent;

    水平或垂直拖动:获得拖动中的比例值(最大最小在右边点行为中设置MaximumMinimum确定滑动获得的最大最小数字范围)

    HScrollBar允许父组件水平滚动,数字滑动结果为hScrollBar1.Value可配合label显示

    VScrollBar允许父组件垂直滚动,数字滑动结果为vScrollBar1.Value

    label3.Text = Convert.ToString(vScrollBar2.Value); // 用于显示VScrollBar滑动的数字值,数字范围可在“行为”》“Maxinum”和“Mininum”中设定

    VScrollBar组件垂直滚动

    textBox文本显示textBox1.Text = System.Text.Encoding.Default.GetString(data);   // text显示

    txtPassword:输入密码时无法看到输入类容

    目录创建、删除、移动:C# Directory类的操作https://www.cnblogs.com/lgx5/p/6890641.html

    弹出输入框:需要先添加弹出引用功能支持。https://www.cnblogs.com/wangfeihu/p/5696232.html

    using Microsoft.VisualBasic;    // 在“项目”》“弹出引用”中添加

    string str = Interaction.InputBox("提示信息","标题","文本内容",-1,-1);

    获取当前文件位置

    string de = Directory.GetCurrentDirectory();

    读取文件(读写文件添加using System.IO;

          FileStream fs = File.OpenRead(path);                        // 打开path文件

                        byte[] data = new byte[fs.Length];                                    // 转换成字节

                        fs.Read(data, 0, data.Length);                                 // 读取文件内容

                        fs.Close();

                        textBox1.Text = System.Text.Encoding.Default.GetString(data);   // text显示

    保存文件StreamWriter类命名空间:  System.IO

    https://docs.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/3ssew6tk%28v%3dvs.95%29

    File.AppendText方法当受信任的应用程序调用它时,创建一个StreamWriter,将UTF-8编码的文本附加到现有文件。

    StreamWriter sw = File.AppendText(path);    // 附加文件到现有文件,对象声明,path为文件路径

    sw.Write(str);                                                  // 文件写入

    sw.Close();                                                     // 关闭文件操作

    串口通讯

    https://blog.csdn.net/qq_20044829/article/details/82902339

    https://blog.csdn.net/qq_39216386/article/details/84874537

    数据图形显示https://docs.microsoft.com/zh-cn/office/vba/visio/concepts/about-displaying-data-graphically-visio

    TabControl控件https://www.jb51.net/article/85354.htm

    TabControl控件是由System.Windows.Forms.TabControl类提供的,作用就是将相关的组件组合到一系列选项卡页面上。TabControl控件管理TabPages集合,TabControl控件的MultiLine属性用来设置是否显示多行选项卡选。

     

    展开全文
  • C#窗体设计DataGridView

    2015-09-16 01:57:54
    我想实现一个功能,当我在datagridview对某一个单元格完成编辑时,即判断输入的数据是否符合要求,如果不符合要求,就返回重新编辑。但是CellEndEdit事件不提供cancel操作,我该用那些事件或该怎么实现?...
  • 怎么用c# 中的treeview、imagelist和listview控件实现点击treeview中的节点,在listview中显示相应的图像?
  • 同样的情况,当想从当前窗体中显示另一个窗体时,必须在当前窗体中创建另一个窗体的实例。 使用以下代码可以打开另一个窗体:新窗体窗体实例名 = new 新窗体类(); 但是只是实例化一个窗体类的对象不能让窗体...

    概述:

    一个Windows应用程序通常由多个窗体组成、在创建一个窗体时,系统会自动在应用程序中创建Form类的一个实例对象,当前显示的窗体就是一个类的对象。同样的情况,当想从当前窗体中显示另一个窗体时,必须在当前窗体中创建另一个窗体的实例。

    使用以下代码可以打开另一个窗体:新窗体类 窗体实例名 = new 新窗体类();

    但是只是实例化一个窗体类的对象不能让窗体“显示”出来,还要调用该对象的方法才能显示出窗体,窗体对象有两个方法可以完成该功能:

    窗体实例名.Show();
    Show()方法以无模式对话框方式显示该窗体,即新窗体显示后,主窗体(调用窗体)和子窗体(被调用窗体)之间可以任意切换,互不影响。

    窗体实例名.ShowDialog();
    ShowDialog()方法以模式对话框显示该窗体,即新窗体显示后,必须操作完子窗体,并关闭完子窗体之后才能操作主窗体。

    例:分别调用模式窗体和无模式窗体。

    设计如下图所示三个窗体Form1、Form2和Form3:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Form1中两个按钮的代码如下:

    private void button1_Click_1(object sender, EventArgs e)
    {
        Form2 f2 = new Form2();//定义Form2类对象,窗体实例名f2随便取的
        f2.Show();//以无模式窗体方式调用
    }
    private void button2_Click(object sender, EventArgs e)
    {
        Form3 f3 = new Form3();//定义Form3类对象,窗体实例名f3随便取的
        f3.ShowDialog();//以模式窗体方式调用
    }
    

    结果如下:
    在这里插入图片描述
    调用无模式窗体时,可以两个窗体任意切换没有影响,本结果调用Form2窗体后,还可以继续操作Form1窗体。
    在这里插入图片描述
    调用模式窗体时,只能先使用当前最新打开的窗体Form3,不能使用Form1窗体。

    展开全文
  • c# 窗体设计的自适应调节

    千次阅读 2017-08-04 10:19:15
    笔者这几天在公司实习,学习使用c#实现一些窗口。作为初学者,主要是使用一些基本的控件来实现这个窗口,但是为了美观,我们还得实现窗口的自适应。起初,我对于自适应也是不太清楚,经过百度得知们要实现窗口的...
  • C#窗体设计:自动调整控件大小

    千次阅读 2018-09-29 14:38:59
    窗体界面设计如下 双击窗体添加Load()函数,函数中添加一下代码: private void Form1_Load(object sender, EventArgs e)  {  this.Resize += new EventHandler(Form1_Resi...
  • Visual Studio 2019 c#窗体设计器的打开

    千次阅读 2020-10-24 22:37:18
    看了一些博客,博主说使用右键cs文件或使用shift+F7打开设计界面,可是我用这两种方法都无法打开,如图:   于是我自己研究了一会,发现了另一种方法,如下:打开.cs文件下得再次双击.sln文件,这时右键cs...
  • vs,C#窗体设计:datagridview控件中某一单元格内容过多,一行显示改为自动换行的办法: 点击datagridview控件,在属性框中将如图所示RowsDefaultCellStyle属性点开,在WrapMode选项中改为true,然后...
  • C# 窗体设计 使用总结

    千次阅读 2011-07-13 14:23:11
    一个splitcontainer中,左边的panel1中放了一个treeview控件,建立了一些节点,点击某一个节点,可以出来另一个窗体(另外的一个cs文件),但是这个窗体怎样放在右边的panel2里面? 解决方案如下 private void Form1...
  • 1.窗体布局 使用SpliContainer分割器对窗体进行窗体分割,设置边框线的样式:属性 BorderStyle 为Fixed3D。 2.实现子窗口嵌入到主窗口的panel中 在布局好的窗体部分对自己需要嵌入主窗体的部分加入panel控件,我...
  • [img=https://img-bbs.csdn.net/upload/201806/19/1529382193_116992.png][/img]
  • Visual Studio(C#)分层修改密码时...然后一层层查看是哪里出现了问题,然后发现是修改密码的父窗体中少了一句代码(没有实例化用户,并赋予本窗体的相应成员)。这种情况不会有提示代码错误,需要自己去发现。 ...
  • C#窗体个性 设计 像QQ一样的窗体设计,主要实现 winfrom 的窗体个性化-C# form personalized design like QQ form design, winfrom form personalized
  • treeview控件afterselect方法,代码确认没有问题,调试也没有错,但就是没有运行代码给出相应结果,解决办法如下: private void trv_medicine_AfterSelect(object sender, TreeViewEventArgs e) ...
  • C#窗体设计,讲解c#窗体设计的基础知识,内容详细
  • 主要包含了c#窗体和界面的基础应用,适合初学者学习
  • c# 磁性窗体设计

    2010-01-21 12:53:23
    c#磁性窗体设计c#磁性窗体设计 c#磁性窗体设计 c#磁性窗体设计 c#磁性窗体设计
  • C# 继承窗体设计

    2009-04-23 08:37:15
    C#继承窗体设计C#继承窗体设计C#继承窗体设计C#继承窗体设计C#继承窗体设计
  • C# 设计字型窗体

    2009-04-23 08:40:10
    C#设计字型窗体C#设计字型窗体C#设计字型窗体C#设计字型窗体C#设计字型窗体C#设计字型窗体C#设计字型窗体
  • C# 设计多边形窗体

    2009-04-23 08:39:40
    C#设计多边形窗体C#设计多边形窗体C#设计多边形窗体C#设计多边形窗体C#设计多边形窗体C#设计多边形窗体
  • C# 分割窗体C#分割窗体

    热门讨论 2009-04-23 08:35:54
    C#分割窗体C#分割窗体C#分割窗体C#分割窗体C#分割窗体C#分割窗体
  • c# Windows窗体应用程序设计(四)

    千次阅读 2020-04-21 10:52:17
    c# Windows窗体应用程序设计(四) 上次介绍的简单应用其中...树视图窗体的设计分 “四步走” (这个方法可以参考上一期第一节“c#窗体设计的一般步骤”) 1.新建项目 新建一个名为“树视图”的窗体,Text改为“树视...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,200
精华内容 16,080
关键字:

c#窗体设计

c# 订阅