チャレンジ:私の簡単なチャレンジのためのスレッド/独立実行?
私のフォームには14個のラベルと、100ms間隔で連続して動作するタイマーが含まれています。タイマー内には、ファイルシステムとインターフェースし、特定のファイルの存在をチェックするコードがあります。このファイルが存在するかどうかによって、単純に真または偽になり、条件が満たされなくなると、ラベルの背景色が灰色から赤色に変わり、次に灰色に変わります。
これまでOKです。私はそれを問題なくプログラムすることができ、それは動作します。
このフォームには、いつでもクリックする必要のあるいくつかのボタンがあります。しかし、フォームが占有されているようにユーザーエクスペリエンスを感じさせる遅れがあります。私はこれを推測しているのは、タイマーがUIを更新する必要があるため、クリックリクエストに完全に集中することができないためです。私はITサポートのバックグラウンドから来て、OOPとC#.NETのグリップに夢中になっています:)私は、スレッド/独立実行の基本やその他のものを把握するのに役立つ簡単な例を探しています。長期的な可能性があります。そこに多くの例があることを感謝しますが、あなたのうちの1人は、私のアプリケーションの文脈の中で私がする必要があるかもしれないことをアドバイスしてくれますか?
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (System.IO.File.Exists("C:\file.txt") == true)
{
label1.BackColor = System.Drawing.Color.Red;
//label2.BackColour..
//label3.BackColour..
//..
}
if (System.IO.File.Exists("C:\file.txt") == false)
{
label1.BackColor = System.Drawing.Color.Gray;
//label2.BackColour..
//label3.BackColour..
//..
}
}
private void button1_Click(object sender, EventArgs e)
{
//Do something
}
}
}
正確に何が問題ですか? – svick
@svick私はそれがデザインのものだと思っています。ネイサンは挑戦、新しい技術のためにあなたですか? – NSGaga
確かに、いつも試してみてください。 –