C#中window窗体和控件

news2024/11/24 23:56:40

C#中window窗体和控件

布局与事件–界面的基本问题
在这里插入图片描述

布局

在这里插入图片描述
在这里插入图片描述
就是拉动窗体的时候,按钮也在跟着变动。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

事件

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

//简单的计算器
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace wincalc
{
	///
	/// Summary description for calcForm.
	///
	public class calcForm : System.Windows.Forms.Form
	{
		private System.Windows.Forms.Button button1;
		private System.Windows.Forms.Button button2;
		private System.Windows.Forms.Button button3;
		private System.Windows.Forms.Button button4;
		private System.Windows.Forms.Button button5;
		private System.Windows.Forms.Button button6;
		private System.Windows.Forms.Button button7;
		private System.Windows.Forms.Button button8;
		private System.Windows.Forms.Button button9;
		private System.Windows.Forms.Button button10;
		private System.Windows.Forms.Button bClr;
		private System.Windows.Forms.Button bDot;
		private System.Windows.Forms.Button bPlus;
		private System.Windows.Forms.Button bSub;
		private System.Windows.Forms.Button bMul;
		private System.Windows.Forms.Button bDiv;
		private System.Windows.Forms.Button bEqu;
		private System.Windows.Forms.TextBox txtCalc;
		//以下是要添加的代码
		//定义变量
		Double dblAcc;
		Double dblSec;
		bool blnClear,blnFrstOpen;
		String strOper;
		//以上是添加的代码
		///
		/// Required designer variable.
		///
		private System.ComponentModel.Container components = null;
		public calcForm()
		{
			//
			// Required for Windows Form Designer support
			//
			InitializeComponent();
			//
			// TODO: Add any constructor code after InitializeComponent call
			//
			//以下是要添加的代码
			//初始化设量
			dblAcc=0;
			dblSec=0;
			blnFrstOpen=true;
			blnClear=true;
			strOper=new string('=',1);
			//以上是添加的代码
		}
		///
		/// Clean up any resources being used.
		///
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if(components != null)
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}
		#region Windows Form Designer generated code
		///
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		///
		private void InitializeComponent()
		{
			this.bPlus = new System.Windows.Forms.Button();
			this.bMul = new System.Windows.Forms.Button();
			this.bDot = new System.Windows.Forms.Button();
			this.txtCalc = new System.Windows.Forms.TextBox();
			this.bClr = new System.Windows.Forms.Button();
			this.bDiv = new System.Windows.Forms.Button();
			this.bSub = new System.Windows.Forms.Button();
			this.button8 = new System.Windows.Forms.Button();
			this.button9 = new System.Windows.Forms.Button();
			this.bEqu = new System.Windows.Forms.Button();
			this.button10 = new System.Windows.Forms.Button();
			this.button4 = new System.Windows.Forms.Button();
			this.button5 = new System.Windows.Forms.Button();
			this.button6 = new System.Windows.Forms.Button();
			this.button7 = new System.Windows.Forms.Button();
			this.button1 = new System.Windows.Forms.Button();
			this.button2 = new System.Windows.Forms.Button();
			this.button3 = new System.Windows.Forms.Button();
			this.SuspendLayout();
			//
			// bPlus
			//
			this.bPlus.BackColor = System.Drawing.SystemColors.Control;
			this.bPlus.ForeColor = System.Drawing.SystemColors.ControlText;
			this.bPlus.Location = new System.Drawing.Point(208, 112);
			this.bPlus.Name = "bPlus";
			this.bPlus.Size = new System.Drawing.Size(32, 80);
			this.bPlus.TabIndex = 1;
			this.bPlus.Text = "+";
			//以下是要添加的代码
			bPlus.Click += new System.EventHandler(this.btn_Oper);
			//以上是添加的代码
			//
			// bMul
			//
			this.bMul.Location = new System.Drawing.Point(160, 112);
			this.bMul.Name = "bMul";
			this.bMul.Size = new System.Drawing.Size(32, 32);
			this.bMul.TabIndex = 1;
			this.bMul.Text = "*";
			//以下是要添加的代码
			bMul.Click += new System.EventHandler(this.btn_Oper);
			//以上是添加的代码
			//
			// bDot
			//
			this.bDot.ForeColor = System.Drawing.Color.Black;
			this.bDot.Location = new System.Drawing.Point(112, 208);
			this.bDot.Name = "bDot";
			this.bDot.Size = new System.Drawing.Size(32, 32);
			this.bDot.TabIndex = 0;
			this.bDot.Text = ".";
			//以下是要添加的代码
			bDot.Click += new System.EventHandler(this.btn_clk);
			//以上是添加的代码
			//
			// txtCalc
			//
			this.txtCalc.Location = new System.Drawing.Point(16, 24);
			this.txtCalc.Name = "txtCalc";
			this.txtCalc.ReadOnly = true;
			this.txtCalc.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
			this.txtCalc.Size = new System.Drawing.Size(224, 21);
			this.txtCalc.TabIndex = 2;
			this.txtCalc.Text = "";
			//
			// bClr
			//
			this.bClr.BackColor = System.Drawing.SystemColors.Control;
			this.bClr.ForeColor = System.Drawing.SystemColors.ControlText;
			this.bClr.Location = new System.Drawing.Point(208, 64);
			this.bClr.Name = "bClr";
			this.bClr.Size = new System.Drawing.Size(32, 32);
			this.bClr.TabIndex = 0;
			this.bClr.Text = "AC";
			//以下是要添加的代码
			bClr.Click += new System.EventHandler(this.btn_clr);
			//以上是添加的代码
			//
			// bDiv
			//
			this.bDiv.Location = new System.Drawing.Point(160, 160);
			this.bDiv.Name = "bDiv";
			this.bDiv.Size = new System.Drawing.Size(32, 32);
			this.bDiv.TabIndex = 1;
			this.bDiv.Text = "/";
			//以下是要添加的代码
			bDiv.Click += new System.EventHandler(this.btn_Oper);
			//以上是添加的代码
			//
			// bSub
			//
			this.bSub.Location = new System.Drawing.Point(160, 64);
			this.bSub.Name = "bSub";
			this.bSub.Size = new System.Drawing.Size(32, 32);
			this.bSub.TabIndex = 1;
			this.bSub.Text = "-";
			//以下是要添加的代码
			bSub.Click += new System.EventHandler(this.btn_Oper);
			//以上是添加的代码
			//
			// button8
			//
			this.button8.Location = new System.Drawing.Point(16, 64);
			this.button8.Name = "button8";
			this.button8.Size = new System.Drawing.Size(32, 32);
			this.button8.TabIndex = 0;
			this.button8.Text = "7";
			//以下是要添加的代码
			button8.Click += new System.EventHandler(this.btn_clk);
			//以上是添加的代码
			//
			// button9
			//
			this.button9.Location = new System.Drawing.Point(64, 64);
			this.button9.Name = "button9";
			this.button9.Size = new System.Drawing.Size(32, 32);
			this.button9.TabIndex = 0;
			this.button9.Text = "8";
			//以下是要添加的代码
			button9.Click += new System.EventHandler(this.btn_clk);
			//以上是添加的代码
			//
			// bEqu
			//
			this.bEqu.BackColor = System.Drawing.SystemColors.Control;
			this.bEqu.ForeColor = System.Drawing.SystemColors.ControlText;
			this.bEqu.Location = new System.Drawing.Point(160, 208);
			this.bEqu.Name = "bEqu";
			this.bEqu.Size = new System.Drawing.Size(80, 32);
			this.bEqu.TabIndex = 1;
			this.bEqu.Text = "=";
			//以下是要添加的代码
			bEqu.Click += new System.EventHandler(this.btn_equ);
			//以上是添加的代码
			//
			// button10
			//
			this.button10.Location = new System.Drawing.Point(112, 64);
			this.button10.Name = "button10";
			this.button10.Size = new System.Drawing.Size(32, 32);
			this.button10.TabIndex = 0;
			this.button10.Text = "9";
			//以下是要添加的代码
			button10.Click += new System.EventHandler(this.btn_clk);
			//以上是添加的代码
			//
			// button4
			//
			this.button4.Location = new System.Drawing.Point(112, 160);
			this.button4.Name = "button4";
			this.button4.Size = new System.Drawing.Size(32, 32);
			this.button4.TabIndex = 0;
			this.button4.Text = "3";
			//以下是要添加的代码
			button4.Click += new System.EventHandler(this.btn_clk);
			//以上是添加的代码
			//
			// button5
			//
			this.button5.Location = new System.Drawing.Point(16, 112);
			this.button5.Name = "button5";
			this.button5.Size = new System.Drawing.Size(32, 32);
			this.button5.TabIndex = 0;
			this.button5.Text = "4";
			//以下是要添加的代码
			button5.Click += new System.EventHandler(this.btn_clk);
			//以上是添加的代码
			//
			// button6
			//
			this.button6.Location = new System.Drawing.Point(64, 112);
			this.button6.Name = "button6";
			this.button6.Size = new System.Drawing.Size(32, 32);
			this.button6.TabIndex = 0;
			this.button6.Text = "5";
			//以下是要添加的代码
			button6.Click += new System.EventHandler(this.btn_clk);
			//以上是添加的代码
			//
			// button7
			//
			this.button7.Location = new System.Drawing.Point(112, 112);
			this.button7.Name = "button7";
			this.button7.Size = new System.Drawing.Size(32, 32);
			this.button7.TabIndex = 0;
			this.button7.Text = "6";
			//以下是要添加的代码
			button7.Click += new System.EventHandler(this.btn_clk);
			//以上是添加的代码
			//
			// button1
			//
			this.button1.BackColor = System.Drawing.SystemColors.Control;
			this.button1.ForeColor = System.Drawing.Color.Black;
			this.button1.Location = new System.Drawing.Point(16, 208);
			this.button1.Name = "button1";
			this.button1.Size = new System.Drawing.Size(80, 32);
			this.button1.TabIndex = 0;
			this.button1.Text = "0";
			//以下是要添加的代码
			button1.Click += new System.EventHandler(this.btn_clk);
			//以上是添加的代码
			//
			// button2
			//
			this.button2.Location = new System.Drawing.Point(16, 160);
			this.button2.Name = "button2";
			this.button2.Size = new System.Drawing.Size(32, 32);
			this.button2.TabIndex = 0;
			this.button2.Text = "1";
			//以下是要添加的代码
			button2.Click += new System.EventHandler(this.btn_clk);
			//以上是添加的代码
			//
			// button3
			//
			this.button3.Location = new System.Drawing.Point(64, 160);
			this.button3.Name = "button3";
			this.button3.Size = new System.Drawing.Size(32, 32);
			this.button3.TabIndex = 0;
			this.button3.Text = "2";
			//以下是要添加的代码
			button3.Click += new System.EventHandler(this.btn_clk);
			//以上是添加的代码
			//
			// calcForm
			//
			this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
			this.ClientSize = new System.Drawing.Size(256, 261);
			this.Controls.AddRange(new System.Windows.Forms.Control[] {
																		  this.txtCalc,
																		  this.bEqu,
																		  this.bDiv,
																		  this.bMul,
																		  this.bSub,
																		  this.bPlus,
																		  this.bDot,
																		  this.bClr,
																		  this.button10,
																		  this.button9,
																		  this.button8,
																		  this.button7,
																		  this.button6,
																		  this.button5,
																		  this.button4,
																		  this.button3,
																		  this.button2,
																		  this.button1});
			this.Name = "calcForm";
			this.Text = "计算器";
			this.ResumeLayout(false);
		}
		#endregion
		//以下是要添加的代码
		//小数点的操作
		private void btn_clk(object obj,EventArgs ea)
		{
			if(blnClear)
				txtCalc.Text="";
			Button b3=(Button)obj;
			txtCalc.Text+=b3.Text;
			if(txtCalc.Text==".")
				txtCalc.Text="0.";
			dblSec=Convert.ToDouble(txtCalc.Text);
			blnClear=false;
		}
		//程序开始点
		private static void Main()
		{
			Application.Run(new calcForm());
		}
		private void btn_Oper(object obj,EventArgs ea)
		{
			Button tmp=(Button)obj;
			strOper=tmp.Text;
			if(blnFrstOpen)
				dblAcc=dblSec;
			else
				calc();
			blnFrstOpen=false;
			blnClear=true;
		}
		//等号运算
		private void btn_equ(object obj,EventArgs ea)
		{
			calc();
		}
		//所有运算操作
		private void calc()
		{
			switch(strOper)
			{
				case "+":
					dblAcc+=dblSec; //加号运算
					break;
				case "-":
					dblAcc-=dblSec; //减号运算
					break;
				case "*":
					dblAcc*=dblSec; //乘号运算
					break;
				case "/":
					dblAcc/=dblSec; //除号运算
					break;
			}
			strOper="="; //等号运算
			blnFrstOpen=true;
			txtCalc.Text=Convert.ToString(dblAcc);//将运算结果转换成字符类型,并输出
			dblSec=dblAcc;//将运算数A的值放入运算数B中,以便后面运算
		}
		//清除按钮
		private void btn_clr(object obj,EventArgs ea)
		{
			clear();
		}
		//清除按钮的操作
		private void clear()
		{
			dblAcc=0;
			dblSec=0;
			blnFrstOpen=true;
			txtCalc.Text="";
			txtCalc.Focus();//设置焦点为txtCalc
		}
		//以上是添加的代码
	}
} 

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/114293.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Web API事件高级部分

1、注册事件&#xff08;2种方式&#xff09; 给元素添加事件&#xff0c;称为 注册事件 或者 绑定事件 注册事件有两种方式&#xff1a;传统方式 和 监听注册方式 传统注册方式&#xff1a; 利用on开头的事件 onclick<button οnclick"alert(hi~)"></b…

供应化学试剂mPEG-Biotin,甲氧基-聚乙二醇-生物素

一&#xff1a;产品描述 1、名称 英文&#xff1a;mPEG-Biotin 中文&#xff1a;甲氧基-聚乙二醇-生物素 2、CAS编号&#xff1a;N/A 3、所属分类&#xff1a;Biotin PEG Methoxy PEG 4、分子量&#xff1a;可定制1k、2k、3.4k、10k、20k、5k 5、质量控制&#xff1a;95…

shell脚本四剑客--sed的应用

sed的介绍 sed是Linux下一款功能强大的非交互流式文本编辑器&#xff0c;可以对文本文件进行增、删、改、查等操作&#xff0c;支持按行、按字段、按正则匹配文本内容&#xff0c;灵活方便&#xff0c;特别适合于大文件的编辑 sed在处理文本时是逐行读取文件内容&#xff0c;…

TCP协议中的几个核心特性

目录 引言 TCP协议 &#x1f351;TCP 与 UDP 的 区别 &#x1f351;TCP客户端和服务器建立连接的三次握手 &#x1f351;TCP客户端和服务器断开连接的四次挥手 &#x1f351;滑动窗口 &#x1f351;流量控制 &#x1f351;拥塞控制 引言 还记得那个经典的图吗&#x…

TCP最大连接数调优

文章目录1、单机最大TCP连接数1.1、如何标识一个TCP连接1.2、client最大tcp连接数1.3、server最大tcp连接数1.3.1、理论连接数1.3.2、实际连接数1.4、单台服务器支撑的最大TCP并发连接数1.4.1、进程限制句柄限制查看进程句柄数限制临时修改重启后失效的修改&#xff08;不过我在…

IIC 通信协议 (二)

目录 引言 子模块设计 思路 单字节 IIC 发送模块 思路 Verilog 源码 多字节发送控制模块 思路 Verilog 源码 仿真 思路 test bench 仿真结果 参考声明 引言 本篇博文承接前文&#xff0c;继续做 IIC 通信协议 FPGA实现相关的内容。用Verilog 编写一个 IIC 通信控…

【折腾服务器 1】妖板 Intel N5105 + i226 主板安装 ESXi 7.0 教程

Catch Up 今年年初&#xff0c;开始搭建个人服务器&#xff0c;用的是一台 Dell 7010 SFF 主机&#xff0c;在上面部署了一些应用&#xff0c;例如&#xff1a;Calibre &#xff0c;Blogs &#xff0c;Minecraft Server 等。使用的是 frp 做的网络代理&#xff0c;有一台服务器…

cubeIDE开发, UART的CubeMX及HAL库实现原理及底层分析

一、UART通信协议 UART通用异步收发器(Universal Asynchronous Receiver and Transmitter)是STM32 上常用的串行通信外设&#xff0c;可以灵活地与外部设备进行全双工数据交换&#xff0c;需要注意区别&#xff1a; 【1】USART-通用同步异步收发器(Universal Synchronous Async…

<Linux线程互斥与死锁>——《Linux》

目录 1. Linux线程互斥 进程线程间的互斥相关背景概念 互斥量mutex 互斥量的接口 初始化互斥量 销毁互斥量 互斥量加锁和解锁 互斥量实现原理探究 可重入VS线程安全 概念 常见的线程不安全的情况 常见的线程安全的情况 常见不可重入的情况 常见可重入的情况 可重…

K. Lonely Numbers(线性筛 + 差分)

Problem - 1423K - Codeforces 在数字世界中&#xff0c;如果两个不同的数字有很多共同点&#xff0c;而且每个数字都有独特的好处&#xff0c;那么它们就是朋友。 更确切地说&#xff0c;如果gcd(a,b), agcd(a,b), bgcd(a,b)能组成一个三角形的边&#xff0c;那么两个不同的数…

六、应用层(四)电子邮件

目录 4.1 电子邮件系统的组成结构 4.2 简单邮件传输协议&#xff08;SMTP&#xff09; 4.3 电子邮件格式 4.4 多用途网际邮件扩充&#xff08;MIME&#xff09; 4.5 邮局协议&#xff08;POP3&#xff09;和因特网报文存取协议&#xff08;IMAP&#xff09; 4.6 基…

小黑下午第一场面试被鸽,一切遇见随缘,继续第二场的leetcode之旅:654. 最大二叉树

小黑代码 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def constructMaximumBinaryTree(self, nums: Li…

SAP UI5 应用里 FlexBox 控件的设计原理

sap.m.FlexBox 控件为 flexible box layout 构建容器。VBox 控件为垂直的框布局(vertical flexible box layout)构建容器。 VBox 是一种使用的控件&#xff0c;因为它只是一个定制化的 FlexBox 控件。 VBox 包含 items 聚合&#xff0c;从 FlexBox 继承而来。 HBox 控件为水平…

字符串函数

注意&#xff1a;MySQL中&#xff0c;字符串的位置是从1开始的。 ASCII(S) 返回字符串S中的第一个字符的ASCII码值. 与第一个字符后面的其他字符无关。 SELECTASCII(Abcdfsf) FROM DUAL;CHAR_LENGTH(s) 返回字符串s的字符数。作用与CHARACTER_LENGTH(s)相同。 SELECTCHAR_LEN…

生信基础知识

1.生物数据库分类 &#xff08;1&#xff09;核酸数据库&#xff08;2&#xff09;蛋白质数据库&#xff08;3&#xff09;专用数据库 核酸数据库分为一级核酸数据库和二级核酸数据库 蛋白质数据库分为一级蛋白质数据库和二级蛋白质数据库 一级蛋白质数据库又分为蛋白质序列…

【Redis】应用问题解决

一、缓存击穿 1、什么叫缓存击穿 系统中某个查询次数很多的热点key&#xff0c;在某个时刻过期&#xff0c;而此时又正好有大量并发请求查询这个key&#xff0c;但是缓存的重建还没有完成&#xff0c;这样&#xff0c;就会有大量请求涌向后端数据库&#xff0c;使得其压力骤增…

爱了,阿里P9开源分享内部Java核心开发手册(2022版)覆盖P5到P8

这个世界唯一不变的就是变化&#xff0c; IT圈子不外如是。计算机领域一直在改变&#xff0c;从基础框架到计算设备&#xff0c;还有几乎每天都涌现出的新技术。因此&#xff0c;作为一名程序开发人员&#xff0c;我们要通过不断的学习来提高自己的技能。 所以持续学习的脚步自…

基于C++11实现的阻塞队列(BlockQueue)

思路&#xff1a; 生产者消费者模型如图&#xff0c;多个生产者线程和多个消费者线程共享同一固定大小的缓冲区&#xff0c;它们的生产和消费符合以下规则&#xff1a; 生产者不会在缓冲区满的时候继续向缓冲区放入数据&#xff0c;而消费者也不会在缓冲区空的时候&#xff0c…

AQS源码解读

retrantlock&#xff1a; A、B、C3个线程&#xff0c;假设A线程lock()时候拿到了锁&#xff0c;state被A设置成了1。 static final class NonfairSync extends Sync {private static final long serialVersionUID 7316153563782823691L;/*** Performs lock. Try immediate b…

喜欢写笔记的博主为什么要使用猿如意?

&#x1f525;&#x1f525;&#x1f525;猿如意&#x1f525;&#x1f525;&#x1f525; 喜欢写笔记的博主为什么要使用猿如意&#xff1f; markdown笔记 测 评 分 享 猿如意实战测评猿如意传送门什么是猿如意&#xff1f;猿如意使用感受markdown笔记实战测评总结猿如意传…