問題タブ [appendtext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - テキストボックスへのテキストの高速追加
GUI のテキスト ボックスBackgroundWorker
を使用してメッセージを投稿するスレッドがあります。テキスト ボックスにテキストを表示するBeginInvoke
メソッド は、 を使用し、テキストを に書き込みます。 write_debug_text
AppendText
Console
のBackgroundWorker
書き込み速度が速すぎて、write_debug_text
が追いついていないようです。ブレークポイントを設定し、write_debug_text
ヒットするまで長い時間待たなければなりません。ブレークポイントに到達する前に、BeginInvoke の呼び出しが多数発生します。
System.Console
VS C# Express IDE のように、UI にメッセージをリアルタイムで表示する方法を探しています。
SO での検索から、それAppendText
が使用するより高速な方法であり、文字列を再割り当てする必要がある場合があることを理解しています。
一部の返信はStringBuilder
、そのテキストをテキストボックスに定期的に書き込むことを提案しています。ただし、これにはさらにイベントとタイマーを追加する必要があります。私はむしろやりたくないことです (私の単純なアプリケーションはますます複雑になっています)。
テキストボックスにリアルタイムで書き込む (そして表示させる) にはどうすればよいですか?
私の現在の考えは、テキスト キューとタイマーを使用する Textbox から継承するウィジェットを作成することです。
編集 1: サンプル コード
ここに私のコードの断片があります:
に変更しようとしBeginInvoke
ましたがInvoke
、アプリケーションがハングしました。デバッガーを使用して一時停止/中断すると、実行ポインターは への呼び出しにありInvoke
ます。
ところで、私は Java、C++、および C で長年の経験があります。C# を使用して 5 か月目です。
multithreading - wxPython: CallAfter(AppendText,string) が文字列全体を出力しない
ソケット データの受信と出力をループするスレッドがあります。
次に、次のように stdout を textctrl にリダイレクトする GUI を作成します。
入力を受け入れる 2 つ目の textctrl もあります (簡単にするために省略しています)。問題は、CallAfter(AppendText,string) が文字列全体を出力しない場合があることです。非常にまれですが、文字列の途中で印刷が突然停止し、その時点で次の文字列が印刷されることがあります (そして、アプリは何も起こらなかったかのように、受信した文字列を印刷し続けます)。
2 番目の textctrl に入力して、それが原因かどうかを確認しようとしましたが、何もしなくても、これらの「部分的な印刷」が時々表示されます。どうしたの?
c# - C# での appendText の問題
3 つのテキスト ボックス (ユーザー名、所属する会社、訪問者)、印刷するボタン、および画面上のキーボード (モニターはタッチ スクリーン) を持つアプリがあります。私はすべてが機能し、機能しています...
しかし、機能しないことの 1 つは、ユーザーが既に入力されているテキスト ボックス内の前の文字をポイントすると、「AppendText」(キーボード) のボタンがユーザーがポイントした場所で入力を開始せず、その位置で入力を続けることです。入力されたものの終わり。
これは、「AppendText」またはコードにあるその他の問題が原因ですか?
また、最初のテキスト ボックス (Name_Box) をフォーム 1 に送信しようとしていますが、これは 2 つのラベル (1、名 | 2、姓) に分割されます。現在、1 つのラベルに送信されていますが、私はそれを分割して、次のフォーム (印刷される) で最初の名前が 2 番目の名前の上に積み重ねられるようにします。
どうもありがとう。
これが私のコードです:最初のフォーム
これが私のコードです: Second Form
c# - ブロックをロックしているにもかかわらず、テキスト ファイルへの書き込み中に IOException が発生する
私は答えがどこかにあるに違いないことを知っています.他の多くの質問とMSDN自体の両方からの提案を適用しましたが、おそらくここで何かを見落としています.
これは私の方法です。出力をファイルにダンプするために使用します。わかりやすくするために、オブジェクト宣言をロックします。
using
質問:上記の行IOException
で、メソッドを 2 回目に呼び出したときに、別のプロセスがファイルを使用しているという不平を言うのはなぜですか?
私は自分のコードの周りでこのように呼んでいます:
繰り返しますが、これは些細な問題であり、他の誰かがこのような質問をして正しい答えを得ていると確信していますが、私はそれを掘り下げることができません.
アップデート
オブジェクトをリファクタリングしてメソッドFileInfo
に切り替えると、コードが正常に機能しました。File.XXX
とにかく、問題は解決したように見えます。
c# - 問題を引き起こすC#チャットアプリケーションAppendText
問題を引き起こしている1行のコードを除いて、希望どおりに機能するチャットアプリケーションを作成しました。
私のメインフォームには次のものがあります。
これは私のチャットボックスを表示しています。問題は、チャットボックススレッドにテキストを追加しようとすると、これは1回しか使用できないことです。
appendtext行のコメントを外すと、そのプログラムはチャットボックスを一度開いて正常に閉じますが、別のチャットボックスを開こうとするとフリーズします。このコード行がなくても、アプリケーションは正常に機能します。スレッドが正しく終了していないか、それらの線に沿った何かに問題があるのではないかと思います。
この問題に関する助けをいただければ幸いです。私がそれをうまく説明しなかった場合は、ただ尋ねて、悪いことをして、より良い仕事をしてください。
編集:
デリゲートを使用してみましたが、同じ問題が発生します。
これは本当に私を困惑させました:/。
actionscript-3 - 「field.appendText」と「field.htmltext =」の違いは何ですか
私は一日中それを探していましたが、答えを見つけることができませんでした. 次の 2 つのコードの違いは何ですか。(性能、操作等)
最初のコード
セカンドコード
c# - 別のスレッドからTextBoxへのC#AppendTextが機能しない
テキストボックスに問題が発生しました。
GUIスレッドを表すクラスと、ネットワーク関連の処理を行うワーカースレッドのクラスがあり、バックグラウンドで何が起こっているかを確認できるように、GUIスレッドのテキストボックスにログを追加する必要があります。
ただし、GUIで何も起こらず、addLine()が呼び出されたデバッグ情報のみがコンソールに表示されるという問題があります。
ログを追加する必要があるメソッドaddLine()が呼び出されますが、AppendText()は何もしないようです。
私はこれがスレッドで何かをしなければならないことをかなり確信していますが、これをどのように解決するかはわかりません。
コードは次のとおりです。
ワーカースレッド:
GUIスレッド:
私はすでにいくつかのInvokeを実行しようとしましたが、正しく使用できませんでした。
GUIはそれ自体をロックするか、何もしませんでした。
actionscript - .appendText は、GeolocationEvent.UPDATE の例で置き換えずに最後のテキストの上に書き込みます
actionscript を初めて使用し、GeolocationEvent.UPDATE の例を見て、.appendText() と array.push で予期しない結果が得られました。どちらも電話が更新に追いついていないだけなのかどうかわかりませんでした。
まず、テキストの問題は、最後の書き込みを置き換えるのではなく、上書きしていることです。そのため、電話でアプリを数分間実行すると、数字を読み取ることができなくなります。-- this.removeChild() を使用してから addChild() を使用すると、再度書き込む前に最後の書き込みを削除しようとしていました。
次に、配列の問題は、trace() でランダムな .length 数値を出力していることです。長さは、カウントアップする前に 2 にリセットされることがあり、一見ランダムな数値までカウントされます。最終バージョンで配列のオーバーヘッドが必要ないことはわかっていますが、それが機能しない理由から学ぼうとしています。
私が試したさまざまなことをコメントアウトしました-ここで基本的なことを見逃していたらごめんなさい
c# - AppendText を構築された richTextBox に追加
tabControl に新しいタブを作成し、その中にリッチテキストボックスを作成しています。
しかし、新しいテキストをリッチテキストボックスに追加したいのですが、その方法がわかりません。(つまり、別のイベントを介して)。
これは、それに AppendText を試みるための私の現在のコードです:
タブとリッチテキストボックスを追加するためのコードは次のとおりです。