C#窗体的一些总结

      最近给一个程序写界面(或者叫做“外壳”),用了C#,纯工程的东西,总结总结,以备将来查看。

 

如何让控件的大小随着窗口变化?

(1)把控件放入一个或者多个tablelayoutpanel中,按照需要设置TLP的anchor,设置为上下左右即为随着窗口大小的变化而变化。

(2)把控件放入TPL中,按照需要设置控件的docking或者anchor。如果要在一个panel中放置多个控件,则需要设置行和列,每个单元格中一个控件。注意,控件只有在docking被设置为none之后才可以在panel中自由拖动。

(3)对于panel中大小要求固定的控件,设置其所在的行或列为absolute高度或宽度。

(4)对于需要占据两列位置的控件,设置其colspan为2。

 

如何让窗体监听键盘事件?

(1)先把窗体的KeyPreview设置为true,默认是false

 

如何固定窗口大小?

(1)设置窗体FormBorderStyle为Fixed

 

anchor与docking

(1)两者都可以使控件大小随外部容器变化,anchor更方便设置。

 

TextBox和RichTextBox:TextChangged事件、Undo

(1)无论是通过代码,还是用户输入改变了TextBox的内容,都会触发TextChanged事件

(2)通过代码修改TextBox的Text属性,其操作是不可撤销(undo)的。可采取如下做法:

string txt = "修改后的内容"; //如果是TextBox TxtBox.SelectAll(); TxtBox.Paste(txt); //如果是RichTextBox,稍微麻烦一点 Clipboard.SetDataObject(txt); RtBox.SelectAll(); RtBox.Paste();

 

利用WebBrowser处理HTML页面:

private WebBrowser WBrowser = new WebBrowser(); WBrowser.ScriptErrorsSuppressed = true;//禁止webbrowser控件弹出js报错窗口 string txt = “HTML页面内容”; WBrowser.Navigate("about:blank"); WBrowser.Document.Write(txt); //WBrowser.Document为一个HtmlDocument对象,提供了操作html元素的接口

 

你可能感兴趣的:(html,String,C#,textbox,WebBrowser)