最近用C#写了个小软件,受益颇多,做个简单的整理。
1.一些简单的C#窗体:
不需要值输入输出显示:label
可以排版(排列控件的窗体):FlowLayoutPanel
可输入值的文本框:textBox
插入图片:PictureBox
下拉选值的框:comboBox
按钮事件:Button
2.C#窗体,pictureBox里的图片自动缩放来符合pictureBox的size:在属性界面中,将sizeMode改为StretchImage即可。
3.生成的界面卡死可以使用invoke方法或者新建Thread的方法来解决。
4.comport动态获取的方法:(使用此方法可以获得电脑连接的所有串口,其中COM1为电脑本身的串口)
string[] serialPorts = SerialPort.GetPortNames();
foreach (string serialPort in serialPorts)
{
a.Item.Add(serialPort);//将端口添加到控件中,显示出来。
}
5.如果双击界面中的label并生成:
private void label_Click(object sender, EventArgs e);
如果删除,需要删除Designer中:
this.label.Click+=new System.EventHandler(this.label_Click);
虽然这是一个很基础的问题,但是刚开始用C#真的不知道这是个什么东西,也不敢乱删,特别是Designer里面的代码,生怕删错东西之后代码垮掉。后来知道只是不小心双击控件会自动生成的一段代码,意义不太大。
6.用Release文档中的exe程序可以直接运行出窗体,得到结果,可以不需要再打开VS运行。
7.将得到的结果存储在debug文件中的语句:
System.IO.StreamWriter Swout = new System.IO.StreamWriter(Application.StartupPath + @"文件名.txt", true, System.Text.Encoding.Default);
swOut.Write(要储存的值);
swOut.Write("\r\n");//换行
swOut.Close();//关闭文档
8.textBox.Clear();//清除文本框中的文本。
9.excel单元格内换行:Alt+Enter
10.VS中代码缩进对齐:Ctrl+K+F
大一学的快捷键然而忘记了 = =
11.线程睡眠1s:System.Threading.Thread.Sleep(1000);
12.label赋一句话并显示:
str = "ojbk!";
label.Text = str.ToString();
13.使界面对应位置变灰(无法点按):
button.Enabled = false;
textBox.Enabled = false;
14.刷新textBox语句:
label.Refresh();
15.可以使用irisSkin2模板做皮肤,使窗体好看一些。
16如果需要一次性返回多个但不是非常多值的时候,应该使用:
public void GiveMeFive( out string dajidali, out string jinwanchiji)
就可以得到返回的 dajidali 和 jinwanchiji 的值。