Рейтинг:
2
RickZeeland
Поскольку ваша проблема, по-видимому, заключается в некотором трудоемком коде, вы можете поместить этот код в отдельную задачу, см.: Задача Visual Basic - Tutlane[^]
Поэтому сначала обновите свои метки, а затем запустите задачу.
Имейте в виду, что упомянутый пример очень прост, как только вы хотите сделать что-то в графическом интерфейсе, например изменить метку, все становится более сложным, и вы должны использовать Свойство invokerequired или что-то похожее.
vb.net - что означает "InvokeRequired" и "Invoke" в .Net? - переполнение стека[^]
Member 13569650
Я так не думаю.
Я думаю, что
порядок, в котором расположены этикетки
сделаны видимыми/невидимыми есть
дело в том, что с некоторыми
играя с заказом, который я получил
какое-то решение, но не полное.
RickZeeland
Поскольку я не вижу вашего "трудоемкого кода", боюсь, что я мало что могу с этим поделать ...
Member 13569650
Например, этот порядок видимого/невидимого
дайте мне близкое решение
только одна метка большая появляется частично ==> "MatchesGroupsC"
эти ярлыки таковы
Я.LabelMatchGroupCapture.Text = "Результаты MatchesGroupsCaptures"
Я.LabelMatchGroup.Text = "Результаты Матчей Групп"
Меня.LabelMatch.Text = "Результаты Матчей"
Меня.ReplaceLabel.Text = "Заменить Результаты"
Меня.SplitLabel.Text = "Разделить Результаты"
Так что это вопрос порядка (как найти правильный порядок)
Если xn = 3, то
list2array = sMatchesGroupsCaptures.Метод toArray
tlist2array = vMatchesGroupsCaptures.Метод toArray
LabelMatchGroupCapture.Видимое = Истинное
LabelMatch.Видна = Ложь
LabelMatchGroup.Видна = Ложь
ReplaceLabel.Видна = Ложь
SplitLabel.Видна = Ложь
ElseIf xn = 2 тогда
list2array = sMatchesGroupsList.Метод toArray
tlist2array = vMatchesGroupsList.Метод toArray
LabelMatchGroup.Видимое = Истинное
LabelMatch.Видна = Ложь
LabelMatchGroupCapture.Видна = Ложь
ReplaceLabel.Видна = Ложь
SplitLabel.Видна = Ложь
Еще
list2array = sMatchesList.Метод toArray
tlist2array = vMatchesList.Метод toArray
LabelMatch.Видимое = Истинное
LabelMatchGroup.Видна = Ложь
LabelMatchGroupCapture.Видна = Ложь
ReplaceLabel.Видна = Ложь
SplitLabel.Видна = Ложь
Конец, Если
RickZeeland
Это звучит так, как будто у вас есть проблема с порядком табуляции элементов управления, см.: https://docs.microsoft.com/en-us/dotnet/framework/winforms/controls/how-to-set-the-tab-order-on-windows-forms
Рейтинг:
1
phil.o
В дополнение к тому, чтобы сделать один видимым, вы должны сделать четыре других невидимыми.
Лучшим решением для спагетти-кода if..else было бы иметь метки в массиве и определить функцию, чтобы сделать метку с указанным индексом видимой (подразумевая, что четыре другие метки невидимы).
private void MakeVisible(int index)
{
for (int i = 0; i < theLabelArray.Length; ++i)
{
theLabelArray[i].Visible = (i == index);
}
}
Member 13569650
Этот код делает невидимыми еще четверых.
Maciej Los
Он делает именно то, что вы упомянули в своем вопросе.
phil.o
Ваш ответ на комментарий Рика не совсем соответствует вашему первоначальному вопросу. Без более глубокого контекста не очевидно, что все метки становятся невидимыми каждый раз, прежде чем одна из них становится видимой.
Member 13569650
Наконец то решение которое у меня было
приехал в себя.
Делает один ярлык и меняет его
текст.
но я был вынужден уйти в космос.
короткие этикетки.