* U K I Y A H O N P O *
Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura,
che la diritta via era smarrita.
ホーム
一覧
検索
最終更新
リンク
ヘルプ
ソース
新規
リンク
手動リンク
自動相互リンク
駄でべWiki:FrontPage
リンク元
検索キー一覧
自動相互リンク表
ヘルプ
整形ルール
プラグインマニュアル
浮子屋商店もよろしく。
C#コード断片/共通/テキストボックスに文字列を追記
の編集
Top
>
C#コード断片
>
共通
> テキストボックスに文字列を追記
* テキストボックスに文字列を追記 [#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; } }}
タイムスタンプを変更しない
* テキストボックスに文字列を追記 [#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; } }}