からあなたの質問は、定期的にユーザーに情報を表示するために、ステータスラベルのようなものの値を変更する必要があるようです。 winformsを使用している場合は、次のようなタイマーとデリゲートを使用できます。
質問から、定期的にユーザーに情報を表示するには、ステータスラベルのような値を変更する必要があるようです。私はそれが役に立てば幸い
//First create a delegate to update the label value
public delegate void labelChanger(string s);
//create timer object
Timer t = new Timer();
//create a generic List to store messages. You could also use a Queue instead.
List<string> mod = new List<string>();
//index for list
int cIndex = 0;
//add this in your Form Load event or after InitializeComponent()
t.Tick += (timer_tick);
t.Interval = 5000;//how long you want it to stay.
t.Start();
//the timer_tick method
private void timer_tick(object s, EventArgs e)
{
labelWarningMessage.Invoke(new labelChanger(labelWork), mod[cIndex]);
cIndex++;
}
//the method to do the actual message display
private void labelWork(string s)
{
labelWARNING.Visible = true;
labelWarningMessage.Text = "This module has a prerequisite module: " + s;
}
:あなたはリサイズを使用している場合は、タイマーと、このようなデリゲートを使用することができます。がんばろう。
EDIT:思想私は戻ってくると私はしなかった見つけるためにずっと前にこのコードを掲載...多分誰かが役に立つことを見つけるかもしれません。
はまた、この方法は、デリゲートを使用せずに動作するだけではタイマーを作成するので、この場合には冗長になり、唯一のデリゲートの使用とUIスレッドアクセス部のために有用です。
await
キーワードを使用するpublic async Task SomeMethod()
またはpublic async void buttonClick(object sender, RoutedEventArgs e)
にする必要がありますたとえとにかく表示されています。 foreachループでさえも – harold
どこの条件付き? – a7omiton
これはwinform、wpf、またはasp.netですか? –