Как получить соответствующий элемент управления из цикла foreach?C#

Место общения программистов C#
Ответить
Anonymous
 Как получить соответствующий элемент управления из цикла foreach?

Сообщение Anonymous »

В классе пользовательского управления у меня есть этот код, реагирующий на нажатия кнопок. Код должен сопоставлять тег кнопки переключения с идентичным тегом другого пользовательского элемента управления, чтобы кнопка могла включать и выключать видимость другого пользовательского элемента управления. Соответствующий элемент управления должен храниться в части IF, чтобы также использоваться в части ELSE. Поскольку «control» является локальным для цикла foreach, я создал переменную, в которую нужно скопировать «control». Но это не работает. «lastcontrol» всегда остается нулевым, когда код обрабатывается после строки, в которую я копирую «control». Предложения?
private void ToggleBtnEvent(System.Windows.Forms.CheckBox sender)
{
var currtab = tabControl1.SelectedTab;
var btnClicked = ((System.Windows.Forms.CheckBox)sender).Parent as TestWinForms.CustomControls.BtnToggle1;
System.Windows.Forms.Control lastControl = null;
if (btnClicked.checkBox1.Checked)
{
btnClicked.checkBox1.Text = "";
var cntr = 0;
//var help = 0;
foreach (System.Windows.Forms.Control control in currtab.Controls)
{
//help = control.Location.Y / 35;
if ((string)btnClicked.Tag == (string)control.Tag)
{
tabPage1.Controls.Remove(control);
lastControl = control;
}
cntr++;
}
}
else if (!btnClicked.checkBox1.Checked)
{
btnClicked.checkBox1.Text = "Hide";
Debug.WriteLine($"{lastControl.Name}");
if (lastControl != null) tabPage1.Controls.Add(lastControl);

}
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... reach-loop
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»