winform

WinForm: 客户端应用程序; ------------------------------------------------------- 小恶作剧:

FormBorderSt----None-----无边框 TopMost----True--------最上层 ShowlnTaskbar----False----任务栏不出现 Opacity-----1%-----透明度1% WindowState----Maxinmized-----初始最大化

----------------------------------------------------------- 布局: StartPosition --开始位置 Manual --无任何位置设置,根据Location的位置开始 CenterScreen --屏幕居中显示,覆盖Location的效果 WindowsDefaultLocation --默认位置,覆盖Location的效果

Location --窗体启动时的位置

MaximumSize --最大尺寸 MinimumSize --最小尺寸 Size --窗体默认尺寸

WindowState --窗体开启时的状态 ---------------------------------------------------------- 窗口样式: ControlBox --是否有右上角最小化,最大化,关闭按钮 HelpButton --右上角是否显示帮助按钮,需要派和最大化最小化按钮显示隐藏使用 Icon --右上角小图标,ico类型的图片 IsMdiContainer --是否是MDI容器 MaximizeBox --是否显示最大化按钮 MinimizeBox --是否显示最小化按钮 Opacity --窗体透明度,最小1% ShowIcon --是否显示小图标 ShowInTaskbar --是否显示在任务栏中 SizeGripStyle --何时显示窗体拉伸手柄(鸡肋) TopMost --是否在最顶部,置顶 TransparencyKey --窗体上要透明显示的颜色 ---------------------------------------------------------- 行为: ContextMenuStrip --用户右键显示的菜单 ---------------------------------------------------------- 焦点: ---------------------------------------------------------- 可访问性: ---------------------------------------------------------- 设计: Name --窗体名称,后台调取时使用 ---------------------------------------------------------- 数据: Tag --可以放任意内容的好属性 ---------------------------------------------------------- 外观: BackColor --背景颜色 BackGroundImage --背景图片 BackGroundImage --背景图片排列格式 Cursor --鼠标进入该控件的样式 Font --字体样式 ForeColor --字体颜色 FormBorderStyle --窗体边框样式,有无边框,是否可以拉伸等效果 Text --窗体右上角名称 ---------------------------------------------------------- 杂项: AcceptButton --设置一个按钮,用户在当前窗体按回车就相当于按了这个按钮 CancelButton --设置一个按钮,用户在当前窗体按ESC就相当于按了这个按钮

计算器:

  1 using System;
  2 using System.Collections.Generic;
  3 using System.ComponentModel;
  4 using System.Data;
  5 using System.Drawing;
  6 using System.Linq;
  7 using System.Text;
  8 using System.Threading.Tasks;
  9 using System.Windows.Forms;
 10
 11 namespace _6._26
 12 {
 13     public partial class 计算 : Form
 14     {
 15         public 计算()
 16         {
 17             InitializeComponent();
 18         }
 19
 20         private void b0_Click(object sender, EventArgs e)
 21         {
 22              textBox2.Text +="0";
 23         }
 24
 25         private void b1_Click(object sender, EventArgs e)
 26         {
 27             textBox2.Text += "1";
 28         }
 29
 30         private void b2_Click(object sender, EventArgs e)
 31         {
 32             textBox2.Text += "2";
 33         }
 34
 35         private void b3_Click(object sender, EventArgs e)
 36         {
 37             textBox2.Text += "3";
 38         }
 39
 40         private void b4_Click(object sender, EventArgs e)
 41         {
 42             textBox2.Text += "4";
 43         }
 44
 45         private void b5_Click(object sender, EventArgs e)
 46         {
 47             textBox2.Text += "5";
 48         }
 49
 50         private void b6_Click(object sender, EventArgs e)
 51         {
 52             textBox2.Text += "6";
 53         }
 54
 55         private void b7_Click(object sender, EventArgs e)
 56         {
 57             textBox2.Text += "7";
 58         }
 59
 60         private void b8_Click(object sender, EventArgs e)
 61         {
 62             textBox2.Text += "8";
 63         }
 64
 65         private void b9_Click(object sender, EventArgs e)
 66         {
 67             textBox2.Text += "9";
 68         }
 69
 70         private void bdian_Click(object sender, EventArgs e)
 71         {
 72             textBox2.Text += ".";
 73         }
 74
 75         double a, b,c;    //a---1;b---2   第一个数a;第二个数b
 76         string m;    //运算符
 77
 78         //-------------------------------------------------
 79         private void bjia_Click(object sender, EventArgs e)//+
 80         {
 81
 82             if (textBox1.Text == "")       -----textBox1为空时
 83             {
 84                 a = Convert.ToDouble(textBox2.Text);  //a是+前的数字
 85                 m = "+";         //m是运算符
 86                 textBox1.Text = textBox2.Text + m;  //textBox1.Text中显示
 87                 textBox2.Text = "";   //textBox2清空
 88             }
 89             else    ------textBox1不为空时
 90             {
 91
 92                 //执行!!!!!
 93                 c = Convert.ToDouble(textBox2.Text);  //textBox2的数字
 94
 95                 switch (m)
 96                 {
 97                     case ("+"):
 98                         textBox2.Text = Convert.ToString(a + c);
 99                         a = Convert.ToDouble(textBox2.Text);
100                         break;
101                     case ("-"):
102                         textBox2.Text = Convert.ToString(a - c);
103                         a = Convert.ToDouble(textBox2.Text);
104                         break;
105                     case ("*"):
106                         textBox2.Text = Convert.ToString(a * c);
107                         a = Convert.ToDouble(textBox2.Text);
108                         break;
109                     case ("/"):
110                         textBox2.Text = Convert.ToString(a / c);
111                         a = Convert.ToDouble(textBox2.Text);
112                         break;
113                 }
114                 m = "+";         //m是运算符
115                 textBox1.Text = textBox2.Text + m;  //textBox1.Text中显示
116                 textBox2.Text = "";   //textBox2清空
117             }
118
119         }
120
121         private void jian_Click(object sender, EventArgs e)//-
122         {
123             if (textBox1.Text == "")
124             {
125                 a = Convert.ToDouble(textBox2.Text);  //a是-前的数字
126                 m = "-";         //m是运算符
127                 textBox1.Text = textBox2.Text + m;  //textBox1.Text中显示
128                 textBox2.Text = "";   //textBox2清空
129             }
130             else
131             {
132
133                 //执行!!!!!
134                 c = Convert.ToDouble(textBox2.Text);  //textBox2的数字
135
136                 switch (m)
137                 {
138                     case ("+"):
139                         textBox2.Text = Convert.ToString(a + c);
140                         a = Convert.ToDouble(textBox2.Text);
141                         break;
142                     case ("-"):
143                         textBox2.Text = Convert.ToString(a - c);
144                         a = Convert.ToDouble(textBox2.Text);
145                         break;
146                     case ("*"):
147                         textBox2.Text = Convert.ToString(a * c);
148                         a = Convert.ToDouble(textBox2.Text);
149                         break;
150                     case ("/"):
151                         textBox2.Text = Convert.ToString(a / c);
152                         a = Convert.ToDouble(textBox2.Text);
153                         break;
154                 }
155                 m = "-";         //m是运算符
156                 textBox1.Text = textBox2.Text + m;  //textBox1.Text中显示
157                 textBox2.Text = "";   //textBox2清空
158             }
159         }
160
161         private void cheng_Click(object sender, EventArgs e) //*
162         {
163             if (textBox1.Text == "")
164             {
165                 a = Convert.ToDouble(textBox2.Text);  //a是*前的数字
166                 m = "*";         //m是运算符
167                 textBox1.Text = textBox2.Text + m;  //textBox1.Text中显示
168                 textBox2.Text = "";   //textBox2清空
169             }
170             else
171             {
172
173                 //执行!!!!!
174                 c = Convert.ToDouble(textBox2.Text);  //textBox2的数字
175
176                 switch (m)
177                 {
178                     case ("+"):
179                         textBox2.Text = Convert.ToString(a + c);
180                         a = Convert.ToDouble(textBox2.Text);
181                         break;
182                     case ("-"):
183                         textBox2.Text = Convert.ToString(a - c);
184                         a = Convert.ToDouble(textBox2.Text);
185                         break;
186                     case ("*"):
187                         textBox2.Text = Convert.ToString(a * c);
188                         a = Convert.ToDouble(textBox2.Text);
189                         break;
190                     case ("/"):
191                         textBox2.Text = Convert.ToString(a / c);
192                         a = Convert.ToDouble(textBox2.Text);
193                         break;
194                 }
195                 m = "*";         //m是运算符
196                 textBox1.Text = textBox2.Text + m;  //textBox1.Text中显示
197                 textBox2.Text = "";   //textBox2清空
198             }
199         }
200
201         private void chu_Click(object sender, EventArgs e) //  /
202         {
203             if (textBox1.Text == "")
204             {
205                 a = Convert.ToDouble(textBox2.Text);  //a是/前的数字
206                 m = "/";         //m是运算符
207                 textBox1.Text = textBox2.Text + m;  //textBox1.Text中显示
208                 textBox2.Text = "";   //textBox2清空
209             }
210             else
211             {
212
213                 //执行!!!!!
214                 c = Convert.ToDouble(textBox2.Text);  //textBox2的数字
215
216                 switch (m)
217                 {
218                     case ("+"):
219                         textBox2.Text = Convert.ToString(a + c);
220                         a = Convert.ToDouble(textBox2.Text);
221                         break;
222                     case ("-"):
223                         textBox2.Text = Convert.ToString(a - c);
224                         a = Convert.ToDouble(textBox2.Text);
225                         break;
226                     case ("*"):
227                         textBox2.Text = Convert.ToString(a * c);
228                         a = Convert.ToDouble(textBox2.Text);
229                         break;
230                     case ("/"):
231                         textBox2.Text = Convert.ToString(a / c);
232                         a = Convert.ToDouble(textBox2.Text);
233                         break;
234                 }
235                 m = "/";         //m是运算符
236                 textBox1.Text = textBox2.Text + m;  //textBox1.Text中显示
237                 textBox2.Text = "";   //textBox2清空
238             }
239         }
240
241         private void deng_Click(object sender, EventArgs e) // =
242         {
243               //执行!!!!!
244             b = Convert.ToDouble(textBox2.Text);  //d是=前的数字
245             switch (m)
246             {
247                 case ("+"):    ---加法时执行加法
248                     textBox2.Text = Convert.ToString(a + b);
249                 textBox1.Text = "";    ---清空textBox1
250                     break;
251                 case ("-"):
252                     textBox2.Text = Convert.ToString(a - b);
253                   textBox1.Text = "";
254                     break;
255                 case ("*"):
256                     textBox2.Text = Convert.ToString(a * b);
257
258                      textBox1.Text = "";
259                     break;
260                 case ("/"):
261                     textBox2.Text = Convert.ToString(a / b);
262                       textBox1.Text = "";
263                     break;
264             }
265         }
266
267         private void C_Click(object sender, EventArgs e)
268         {
269             textBox2.Text = "";
270             textBox1.Text = "";
271         }
272
273         private void Da_Click(object sender, EventArgs e)
274         {
275               //删除追后一个数字
276               string q=textBox2.Text;
277               q = q.Substring(0, q.Length - 1); //Substring 截取字符串长度 ,Length 截取当前字符串长度
278               textBox2.Text = q;
279         }
280     }
281 }
时间: 2024-08-23 22:09:30

winform的相关文章

winform学习日志(二十三)---------------socket(TCP)发送文件

一:由于在上一个随笔的基础之上拓展的所以直接上代码,客户端: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Sockets; using Sys

.Net WinForm 控件键盘消息处理剖析

在WinForm控件上我们可以看到很多关于键盘消息处理的方法,比如OnKeyDown, OnKeyPress, ProcessCmdKey, ProcessDialogKey,IsInputKey等等,那么这些方法是如何被组织的,每一个方法的具体含义又是什么哪?Win32的键盘消息又是如何到达控件上的这些方法的,本文将着重阐述这些问题,对.Net WinForm控件的键盘消息处理过程进行剖析.  1.      WinForm消息循环 大家都知道WinForm也是依赖于底层的消息机制的,通常我们

Winform软件,不要在线程里操作UI

对于Winform软件,不要在线程里操作UI,不要相信:StartForm.CheckForIllegalCrossThreadCalls = false; 于是,把所有的代码都改成主线程委托调用的方式 private delegate void SetTextHandle(string id, string value); private void ThreadSetText(string id, string value) { this.Controls.Find(id, true)[0].

WinForm 多窗体、菜单和工具栏

今天,我首先先学习了一下在WinForm程序开发中常遇到的问题——多窗体程序运行问题. 在开发多窗体程序时,常会遇到以下四个方面的问题: 一.哪个是主窗体 问题:主窗体隐藏了,关闭其它窗体后,没有将主窗体显示/关闭,那么程序就关不上了. 当遇到这个问题时,我们通常的解决办法是:构造函数传值,将窗体传到另一个窗体中去,进行关闭. 二.窗体只能打开一个 创建一个全局的泛型集合,为了放置全部打开的窗体.在窗体打开之前,判断集合中是否有name一致的窗体,如果有就说明已经打开了,就不要再打开了. 问题:

winform里面打开网页,以及意想不到的功能

首先,新建一个winform项目,我在想,如果想要实现打开网页功能的话,应该会有一个控件什么之类的吧?查了工具栏,真的有一个名叫 WebBrowser的家伙,应该就是这货没错了.在网上查了它的资料更加坚定了我的判断,二话不说,拖进Form里.接着,就是要显示一个网页了,要怎 么实现呢?继续查看WebBrowser都有啥属性和方法: 方法 说明 GoBack 相当于IE的“后退”按钮,使你在当前历史列表中后退一项 GoForward 相当于IE的“前进”按钮,使你在当前历史列表中前进一项 GoHo

golang winForm开发

最近一直在看rust,语法挺头疼的,正好趁着1.0发布前的一段时间,回来玩玩golang. golang的语法很简单,liteIde又变得越来越好用,因此学习golang不会花费您多少时间,还能够清醒被rust晃晕的头脑,哈哈. winform开发虽然已经不再流行,但是用来练手却非常合适,写小工具也很爽,废话少说,golang的UI库就是大名鼎鼎的 andlabs ui, 在github的star数已达到1946,相当可观.这是一个跨平台的UI库,可以运行在 windows/linux/mac上

[WinForm][DevExpress]自定义GridControl中按钮文字内容

最近项目开发中,使用到了GridControl的FindPanel,这样可以很好的对数据进行筛选,可是所展现的按钮文字是英文,如图: 那怎么定义两个按钮问题,以符合项目需求了?经过一番搜索发现利用GridLocalizer可以很好实现: 核心代码: public class BuilderGridLocalizer : GridLocalizer { Dictionary<GridStringId, string> CusLocalizedKeyValue = null; /// <su

winform下通过webclient使用非流方式上传(post)数据和文件

这两天因为工作的需要,需要做一个winform上传数据到服务器端的程序.当时第一个想法是通过webservice的方式来实现,后来觉得麻 烦,想偷懒就没有用这样的方式,http的post方式变成了第一选择.因为以前用的都是httpwebrequest之类的东西进行post提 交,winform下面还真的是第一次,不过很快就在网上找到了webclient这个类,接下来开始实现功能,话说webclient用起来还真的很简 单,一个头信息的声明,然后是URL,最后是post的数据,就完事了.正在高兴的

[WinForm] VS2010发布、打包安装程序(超全超详细)

1. 在vs2010 选择"新建项目"→" 其他项目类型"→" Visual Studio Installer→"安装项目": 命名为:Setup1 . 这是在VS2010中将有三个文件夹, 1."应用程序文件夹"表示要安装的应用程序需要添加的文件: 2."用户的'程序'菜单"表示:应用程序安装完,用户的"开始菜单"中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放

Winform开发框架里面使用事务操作的原理及介绍

在很多情况下,事务是个很有用的东西,可以把一系列的操作组合成一个原子粒度的操作,一旦组合中某个地方出错,可以整个干净的进行滚回,不会留下脏数据:除此之外,事务还能提高批量操作的效率,如在本地SQLite数据库里面,批量插入1万条数据,那么使用事务和没有使用事务,速度上至少差别几十到上百倍的差异.既然事务有完整性和速度性的差异,因此,基于上述原因,我们在很多情况下最好使用事务进行操作.本文主要介绍在开发框架中如何整合事务的操作,并介绍在各个分层中的事务使用案例. 由于我介绍的相关框架,主要是采用了