GUIを設計しています。しばらく時間がかかる傾向にあるアクションを呼び出した後、メッセージを「しばらくお待ちください」というラベルを効果的に使用しています。ラベルのテキストは静的なので、VS2010のラベルコントロールのプロパティに設定しました。C#WinFormsラベルが表示されますが、テキストは表示されません。
私はフォーム上でそのアクションを打つと、時間がかかるプロセスが完了するまで普通は隠されていたコントロールを.Show()し、.Hide()します。 .Show()にヒットすると、ラベルがポップアップします(BorderStyleがFixed3Dに設定されているので、ラベルの境界線が表示されるので、これを知っています)が、テキストはまったくありません。私はラベルを自動サイズに設定しようとしましたが、無駄ではありません。私のテキストはグレーで黒に設定されているので、目に見えないインクはありません。コードを実行したいときは、ラベルにはテキストが表示されません。私は迷っている。
アイデア?
同じスレッドで発生しますが、プロセスの開始前にshow呼び出しが実行されています。プロセスの.waitforExit()の後にhide呼び出しがあります。両方の呼び出しが実行されていて、ラベルが表示され、期待どおりに消えていて、テキストが欠落しています。 –
.shared()の後にラベルの.refresh()を呼び出すと正しい答えが返されました。奇妙なことに、私はプロセスを開始する前に、描画自体を終了し、そのプロパティを正しく適用するために、バットで余分なキックが必要になったと思います。ありがとう! –