* テキストボックスに文字列を追記 [#v79fea99]
ログ出力など、行単位でどんどん追記する場合に。
#code(Csharp,nooutline){{
public void out(string text){
txtBox.SelectionStart=txtBox.Text.Length;
txtBox.SelectionLength=0;
txtBox.SelectedText=text+"\r\n";
txtBox.SelectionStart=txtBox.Text.Length;
txtBox.SelectionLength=0;
}
}}
応用編。以下のコードを追加。
-スレッドセーフにした(Invoke)
-一定のサイズを超えたらクリア
#code(Csharp,nooutline){{
private delegate void OutPutDelegate(string text);
OutPutDelegate outdel;
public frmMain() {
outdel=new OutPutDelegate(_output);
}
private void _output(string text) {
if (this.InvokeRequired) {
Invoke(outdel, new object[] { text });
return;
}
if (txtMain.Text.Length > 32767) {
txtMain.Text = "";
}
txtMain.SelectionStart = txtMain.Text.Length;
txtMain.SelectionLength = 0;
txtMain.SelectedText = text + "\r\n";
txtMain.SelectionStart = txtMain.Text.Length;
txtMain.SelectionLength = 0;
}
}}