問題タブ [toolstripstatuslabel]
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.
winforms - Winforms StatusStrip - 更新中に空白の期間があるのはなぜですか?
背景: 私は、TooStripStatusLabel として使用される StatusStrip が設定された WindowForms v3.5 アプリケーションを持っています。実行中のタスク中にかなり多くの更新を発行していますが、空白になっている顕著な期間があります。ステータス ストリップ ラベルに空白を書き込んでいる場合もポイントはありません。
質問: ステータス ストリップ ラベルが空白であるとは思わない期間が表示されるのはなぜですか?
更新方法:
PS。this.Update() の後に Application.DoEvents() を呼び出しても役に立たないようです。私は実際に backgroundworker コントロールを介してこれを呼び出しているので、次のようになります。
(a) バックグラウンド ワーカーを起動します。
(b) バックグラウンド ワーカーが更新を呼び出します。
(c) MyC ビジネスクラスもそれを使用します。
(d) このイベントはそれを拾います:
(e) また、更新ステータス ストリップ
これは役に立ちますか?
c# - 「グリップ」からスペースを取り戻すにはどうすればよいですか
単一のToolStripStatusLabel、Spring = true、および通知の背景色を持つStatusStripがあります。
問題は、ステータスストリップの右側に醜い灰色の四角があることです。しばらくいじった後、これがサイジンググリップであることに気付きました(私が持っていたのはSizingGrip = false、GripStyle = Hiddenに設定されていました)。それでも、それが隠されていても、それはまだスペースを占有します。ステータスストリップのコンテンツを右端まで拡張できません。
これをどのように回避しますか?ステータスラベルの色が変わり、フェード効果があるため、StatusStripの背景色を設定することはできません。
c# - ジェネリック型: ToolStripStatusLabel から Control への暗黙的な参照変換はありません。
SerialPort DataReceived イベント ハンドラーから UI を更新したいと考えています。イベントハンドラーがフォームとは別のスレッドで暗黙的に実行されていたため、単にUIを更新するのではなく、問題を発見しました...
...次のアプローチを取る必要がありました。
これまでのところ良い...ただし、今は ToolStripStatusLabel を更新したい - 同じアプローチを使用すると、「ToolStripStatusLabel と Forms.Control の間に暗黙的な参照変換はありません」というエラーが発生します。
私が読んだことから、問題は ToolStripStatusLabel を呼び出すことができないという事実に起因します。
では、これをどのように処理するのが最善でしょうか?
注: 代理人などは私の現在の能力の限界にあるため、解決策と一緒に説明をいただければ幸いです。
更新 1:明確にするために、InvokeControlAction に相当する ToolStripStatusLabel を作成しようとしましたが、呼び出しメソッドがないため、これは機能しません。
結果:私のソリューションを再検討した後、ジミーが最初に提案したように、拡張メソッドとして実装しました。
静的なExtensionMethodクラス (独自の「ExtensionMethods」名前空間内) を作成し、InvokeOnToolStripItem メソッドに追加し、「using ExtensionMethods;」を追加しました。元のクラスでディレクティブを作成し、次のようにメソッドを呼び出しました。
c# - サードパーティの WinForms プロセスで ToolStripStatusLabel を見つける
基本的なサード パーティの WinForms アプリケーションを自動化するための小さなツールを作成するよう依頼されました。
これまでのところ、私は多くのハードルを克服することができましたが、これはそれらすべての中で最もイライラするものの 1 つです (そして、LVM_GETITEMTEXT が 64 ビット ポインターを含む LVITEM 構造体を返していることを確認するためだけに 8 時間を調査に費やしたことは、非常にイライラさせられました) -サードパーティアプリケーションの StatusStrip で ToolStrupStatusLabel への参照を取得する方法がまったく見つからないようです。
アプリケーションが割り当てられたタスクを終了したことを示す唯一の兆候は、StatusStrip が更新されて終了したことを示すときです。あるジョブがいつ終了して別のジョブに進むかがわからない場合、その操作を確実に自動化することはできません。
アプリケーションに SendMessage() できるメッセージはありますか? 呼び出すことができる関数はありますか? このラベルのテキストを見つけて、アプリケーションのステータスを把握するのに役立つものはありますか?
自動化ツールは、さまざまな Windows 機能の pInvoke を使用して C#/Winforms でプログラムされています。また、LVITEM 構造体からデータを取得するのを支援するために C++ で独自の DLL を作成したので、C++ の回避策も可能です。
c# - ToolStripStatusLabelでマウスの位置を更新するにはどうすればよいですか
小さな問題のように思われる道路の衝突に遭遇したようですが、答えを見つけることができないようです。これが私の最初の質問です。この質問の解決策を見逃してしまった場合は、お詫び申し上げます。
マウスの現在の位置を取得したいtoolStripStatusLabelがあり、これを実行して座標を取得できました。
しかし、これは、ロードしたときにのみマウスの位置を取得でき、マウスを移動したときは取得できませんでした。
どんな助けでもありがたいです、ありがとう!
.net - ToolStripStatusLabel を非表示にする代わりに切り捨てます
フォームに StatusStrip コントロールがあります。このコントロールには、ToolStripStatusLabel という子コントロールが 1 つだけ含まれています。テキストが大きすぎると、何も表示されません。何も表示しないのではなく、少なくとも何かを表示することをお勧めします。テキスト全体が収まらない場合でもテキストの一部を表示するには、ToolStripStatusLabel をどうすればよいですか?
c# - 進行状況バーをステータス バーに追加すると、他のパネルが黒くなる
ステータスバーにプログレスバーを追加したアプリケーションがあります。アプリケーションを起動し、同時に他のウィンドウをアクティブにして、アプリケーションが表示される領域をカバーし、フォーカスを維持すると、アプリケーションが起動すると、このウィンドウの背後にあることに気付き始めました。 、すべてのステータスバーペイン(ツールストリップラベル)が黒くなり、更新を拒否します...同時に、背景プロパティは「コントロール」のままです。ステータスバーから進行状況を削除してすべての手順を繰り返すと、ペインは正常になります。
それを修正する方法はありますか?
ありがとう
c# - ToolStripStatusLabel 遅延メッセージ
簡単な質問があります。
私のプログラムでは、ToolStripStateLabel を使用してユーザーに情報を表示したいと考えています。C ++とQTから来て、このコントロールの.netバリアントをよく理解していません。ユーザーに特定の時間IE 3000msのメッセージを表示したいからです。または3秒ですが、これを行う方法がわかりません。それで、それは可能ですか、どうすればこれを行うことができますか?
c# - プロセスが終了した後の c# statusstrip toolstripstatuslabel の更新
toolstripstatuslabel1
プログラムがデータのロードを循環する方法があり、テキストに入れたいのですloading
が、何らかの理由で、ロード中ではなくロードが完了した後にこれを行います。ただしtoolStripProgressBar1
、正しく更新されます。私は何を間違っているのでしょうか?