Windows フォーム プログラム (ユーザー ログイン機能を備えた E-POS) を開発しましたが、30 分後にユーザーをシステムからログアウトさせる必要があります。次のコードを見つけて遊んでみましたが、エラーが発生しました。
フィールド初期化子は、非静的フィールド、メソッド、またはプロパティを参照できません...
_TimerTick
コードに現れる最初のインスタンスによって。
private System.Threading.Timer timer = new System.Threading.Timer(
_TimerTick,
null,
1000 * 30 * 60,
Timeout.Infinite);
private void _OnUserActivity(object sender, EventArgs e)
{
if (timer != null)
{
timer.Change(1000 * 30 * 60, Timeout.Infinite);
}
}
private void _TimerTick(object state)
{
var myLogin = new LoginForm(this);
myLogin.userCode = null;
MainControlsPanel.Hide();
// the user has been inactive for 30 minutes; log him out
}