private bool _isSelected = false;
private void textBox_Validated(object sender, EventArgs e)
{
_isSelected = false;
}
private void textBox_MouseClick(object sender, MouseEventArgs e)
{
SelectAllText(textBox);
}
private void textBox_Enter(object sender, EventArgs e)
{
SelectAllText(textBox);
}
private void SelectAllText(TextBox text)
{
if (!_isSelected)
{
_isSelected = true;
textBox.SelectAll();
}
}
Да, вы можете использовать статические члены - они потокобезопасны. Каждый поток будет выполняться в отдельном контексте, и поэтому любые объекты, созданные внутри статического метода, будут принадлежать только этому потоку.
Вам нужно беспокоиться только о том, обращается ли статический метод к статическому полю, например списку. Но в вашем примере код определенно является потокобезопасным.
ничто не разделяется между потоками, поэтому потокобезопасен. если вы не обращаетесь к статическим членам, другие статические методы могут выполняться одновременно с ними ...