C#(二十七)之C#窗体应用

简介: 学习C#窗体的基本用法。

QQ图片20220426145352.jpg

今天开始学习C#窗体。

(一):首先创建一个窗体应用程序


文件->新建->项目


QQ图片20220426145355.png


(二):窗体中的按钮和标签(button/label)


QQ图片20220426145358.jpg


点击工具箱,将其固定在屏幕上。


QQ图片20220426145400.jpg


设置按钮及标签属性时,记得修改其NAME属性Text属性


QQ图片20220426145403.jpg


QQ图片20220426145405.jpg


/**
         * 事件的方法
         */
        private void MyButton_Click(object sender, EventArgs e)
        {
            // 对话窗展示
            MessageBox.Show("HELLO 我的第一个窗体");
        }
        /**
         * 标签的方法
         */
        private void label1_Click(object sender, EventArgs e)
        {
        }
        private void button1_Click(object sender, EventArgs e)
        {
            // 这个对象的属性等于
            answer_label.Text = "答:阴阳八卦,异性相吸";
        }


(三):超链接标签(linklabel)


1:Linkcolor:超链接默认状态下的颜色。:

2:Activelinkcolor:超链接单击时候的颜色

3:Visitedlinkcolor:已访问过的超链接的颜色。

4:Linkbehavior:超链接下划线样式

5:事件:


QQ图片20220426145408.jpg


/**
         * 超链接事件
         */
        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            // 设置点击后的链接颜色
            oneLink.LinkVisited = true;
            // 打开C盘(@是原样输出)
            System.Diagnostics.Process.Start(@"C:/");
        }
        private void linkLabel1_LinkClicked_1(object sender, LinkLabelLinkClickedEventArgs e)
        {
            // 设置点击后的链接颜色
            linkTwo.LinkVisited = true;
            // 打开网页
            System.Diagnostics.Process.Start("chrome","https://guanchao.site");
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        }
        private void linkLabel1_LinkClicked_2(object sender, LinkLabelLinkClickedEventArgs e)
        {
            // 设置点击后的链接颜色
            linkTwo.LinkVisited = true;
            // 打开应用
            System.Diagnostics.Process.Start("Notepad");
        }


(四):文本框(textbox)


1:属性


multiline:控制文本是否可以跨行。

AcceptsReturn:多行编辑控件是否允许输入回车。

AcceptsTab:多行编辑控件是否允许输入Tab键。

ReadOnly:只读

ScrollBars:针对多行控件,是否显示滚动条。

TabIndex:确定次控件应用键盘上的Tab索引

PasswordChar:显示密码字符

AcceptsButton:按回车键等于按确定键(窗体事件)

 

2:事件


Textchange事件:相当于javascript中的Change事件。

 

3:方法


Clear:清楚文本框中所有内容

Copy:将选定的内容复制

Cut:将选中的内容剪切

Paste:用剪切的文本替换选中的文本

ResetText:将text属性重新设置为默认值

Redo:重复上一操作

Redo:撤销上一操作


private void but_Click(object sender, EventArgs e)
        {
            string ques_str = quesBox.Text;
            string pass_str = passBox.Text;
            if (ques_str == "gc" && pass_str == "123456")
            {
                MessageBox.Show("操作成功");
            }
            else {
                MessageBox.Show("密码错误");               
            }
        }

 

(四):单选按钮(RadioButton)


1:属性:


Checked:单选按钮是否已经选中。

 

C#中的单选按钮的NAME属性不需要相同


// 定义一个变量存储性别
        public string sex;
        // 选择男,给标签赋值
        private void boy_radio_CheckedChanged(object sender, EventArgs e)
        {
            sex = "男";
        }
        // 选择女,给标签赋值
        private void gr_radio_CheckedChanged(object sender, EventArgs e)
        {
            sex = "女";
        }
        // 点击确认按钮走的事件
        private void button1_Click_1(object sender, EventArgs e)
        {
            if (boy_radio.Checked == false && gr_radio.Checked == false)
            {
                MessageBox.Show("请选择性别");
            }
            else {
                MessageBox.Show("您的相别是:"+sex);
            }
        }

 

(五):复选框(CheckBox)


1:属性:


Checked:复选按钮是否已经选中。

CheckState:组件状态(三种状态);

 

复选框与单选框类似,这里不做举例,参考单选框。

 

(六):数字输入框(NumericUpDown)


1:属性


Increment:点击一次后边的加号所增长的数字

MiniMum:输入框最小值

MaxMum:输入框最大值

Value:默认值

 

2:事件


ValueChanged:默认事件(值改变)


public int num;
        private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
            num = Convert.ToInt32(numUpOne.Text);
            Font ff = new Font("黑体", num);
            label4.Font = ff;
        }
        private void num_button_Click(object sender, EventArgs e)
        {
            int nums = num + 1;
            MessageBox.Show("您输入的数字是" + nums);
        }


(七):群组框(GroupBox)


这个没有什么,就是一个分区作用。


把各部分功能分区放置。


QQ图片20220426145410.jpg


目录
相关文章
|
7月前
|
存储 监控 算法
基于 C# 时间轮算法的控制局域网上网时间与实践应用
在数字化办公与教育环境中,局域网作为内部网络通信的核心基础设施,其精细化管理水平直接影响网络资源的合理配置与使用效能。对局域网用户上网时间的有效管控,已成为企业、教育机构等组织的重要管理需求。这一需求不仅旨在提升员工工作效率、规范学生网络使用行为,更是优化网络带宽资源分配的关键举措。时间轮算法作为一种经典的定时任务管理机制,在局域网用户上网时间管控场景中展现出显著的技术优势。本文将系统阐述时间轮算法的核心原理,并基于 C# 编程语言提供具体实现方案,以期深入剖析该算法在局域网管理中的应用逻辑与实践价值。
186 5
|
存储 安全 物联网
C# 在物联网 (IoT) 应用中的应用
本文介绍了C#在物联网(IoT)应用中的应用,涵盖基础概念、优势、常见问题及其解决方法。重点讨论了网络通信、数据处理和安全问题,并提供了相应的代码示例,旨在帮助开发者更好地利用C#进行IoT开发。
575 3
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
173 3
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
281 2
|
设计模式 开发框架 前端开发
MVC 模式在 C# 中的应用
MVC(Model-View-Controller)模式是广泛应用于Web应用程序开发的设计模式,将应用分为模型(存储数据及逻辑)、视图(展示数据给用户)和控制器(处理用户输入并控制模型与视图交互)三部分,有助于管理复杂应用并提高代码可读性和维护性。在C#中,ASP.NET MVC框架常用于构建基于MVC模式的Web应用,通过定义模型、控制器和视图,实现结构清晰且易维护的应用程序。
253 2
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
183 0
|
消息中间件 网络协议 安全
C# 一分钟浅谈:WebSocket 协议应用
【10月更文挑战第6天】在过去的一年中,我参与了一个基于 WebSocket 的实时通信系统项目,该项目不仅提升了工作效率,还改善了用户体验。本文将分享在 C# 中应用 WebSocket 协议的经验和心得,包括基础概念、C# 实现示例、常见问题及解决方案等内容,希望能为广大开发者提供参考。
897 0
|
API C# Windows
【C#】在winform中如何实现嵌入第三方软件窗体
【C#】在winform中如何实现嵌入第三方软件窗体
742 0
|
Web App开发 网络协议 API
基于C#编写一个远程桌面应用
基于C#编写一个远程桌面应用
643 0
|
Java 程序员 C#
【类的应用】C#应用之派生类构造方法给基类构造方法传参赋值
【类的应用】C#应用之派生类构造方法给基类构造方法传参赋值
120 0