powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / 2а ListBox'a. Как снять выделение Item'a ?
14 сообщений из 14, страница 1 из 1
2а ListBox'a. Как снять выделение Item'a ?
    #32882750
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На форме 2а листбокса с элементами. в обоих можно выбирать только один элемент.
При выборе элемента он подсвечивается(выделяется) синим цветом.
Хочется видеть на экране подсветку только в том листбоксе в котором я в данный момент нахожусь.

Первая мысль была записать в обр. события SelectedIndexChanged чего-нить что убирает выделение с другого листбокса.

НО вот ЧТО конкретно? Как это сделать?

-------------------------------------------------------------------------
Нет худа без добра, да и добро без худа - чудо.
...
Рейтинг: 0 / 0
2а ListBox'a. Как снять выделение Item'a ?
    #32882804
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в листвью есть замечательное свойство - HideSelection, в боксе его почемуто нет, подписываться думаю на событие получения фокуса, и выставлять для другого бокса Index = -1, если так можна конечно, но нужно запоминать текущую позицию, что б при получении фокуса ее возобновлять...
...
Рейтинг: 0 / 0
2а ListBox'a. Как снять выделение Item'a ?
    #32882816
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лиман Артёмв листвью есть замечательное свойство - HideSelection, в боксе его почемуто нет, подписываться думаю на событие получения фокуса, и выставлять для другого бокса Index = -1, если так можна конечно, но нужно запоминать текущую позицию, что б при получении фокуса ее возобновлять...

Index = -1 Почему-то криво работает. Через раз выкидывает сообщение о выходе за пределы массива, а иногда и правда убирает выделение.... Странно и использовать это в таком виде конечно нельзя.
...
Рейтинг: 0 / 0
2а ListBox'a. Как снять выделение Item'a ?
    #32882834
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот кусок реализации SelectedIndex
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
public override int SelectedIndex
{
      get
      {
            ...
      }
      set
      {
            int num1 = (this.itemsCollection == null) ? 0 : this.itemsCollection.Count;
            if ((value < -1) || (value >= num1))
            {
                  object[] objArray1 = new object[2] { "value", value.ToString() } ;
                  throw new ArgumentOutOfRangeException(SR.GetString("InvalidArgument", objArray1));
            }
            ......
            if ((this.selectionMode == SelectionMode.One) && (value != -1))
            {
                  .......
            }
            else if (value == -1)
            {
                  if (this.SelectedIndex == -1)
                  {
                        return;
                  }
                  this.ClearSelected();
            }
            else
            {
                  ....
            }
      }

тоесть ошибок впринципе не должно быть, ну а если так не устраивает, то можна вызвать ClearSelected, благо он паблик
...
Рейтинг: 0 / 0
2а ListBox'a. Как снять выделение Item'a ?
    #32882877
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лиман Артёмвот кусок реализации SelectedIndex
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
public override int SelectedIndex
{
      get
      {
            ...
      }
      set
      {
            int num1 = (this.itemsCollection == null) ? 0 : this.itemsCollection.Count;
            if ((value < -1) || (value >= num1))
            {
                  object[] objArray1 = new object[2] { "value", value.ToString() } ;
                  throw new ArgumentOutOfRangeException(SR.GetString("InvalidArgument", objArray1));
            }
            ......
            if ((this.selectionMode == SelectionMode.One) && (value != -1))
            {
                  .......
            }
            else if (value == -1)
            {
                  if (this.SelectedIndex == -1)
                  {
                        return;
                  }
                  this.ClearSelected();
            }
            else
            {
                  ....
            }
      }

тоесть ошибок впринципе не должно быть, ну а если так не устраивает, то можна вызвать ClearSelected, благо он паблик

ClearSelected(); Так же работает через раз. Непонятно.
...
Рейтинг: 0 / 0
2а ListBox'a. Как снять выделение Item'a ?
    #32882882
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а SelectionMode какой?
...
Рейтинг: 0 / 0
2а ListBox'a. Как снять выделение Item'a ?
    #32882897
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лиман Артёма SelectionMode какой?


SelectionMode = One
Перый раз событие SelectedIndexChanged отрабатывает нормально удаляя выделение,
затем я снова в боксе1 выделяю итем и снова ухожу на бокс2 и вот тут уже ничего не происходит.

private void listBox1_Leave(object sender, System.EventArgs e)
{
this.listBox1.ClearSelected();
}

тоже не помогает... :(
...
Рейтинг: 0 / 0
2а ListBox'a. Как снять выделение Item'a ?
    #32882969
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видать придется всетаки разбираться серьезно...
...
Рейтинг: 0 / 0
2а ListBox'a. Как снять выделение Item'a ?
    #32883010
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин прекрасно все работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 Private Sub ListBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.GotFocus, ListBox2.GotFocus
        If sender Is ListBox1 Then
            ListBox2.ClearSelected()
        Else
            ListBox1.ClearSelected()
        End If

    End Sub
...
Рейтинг: 0 / 0
2а ListBox'a. Как снять выделение Item'a ?
    #32883157
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лиман Артёмблин прекрасно все работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 Private Sub ListBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.GotFocus, ListBox2.GotFocus
        If sender Is ListBox1 Then
            ListBox2.ClearSelected()
        Else
            ListBox1.ClearSelected()
        End If

    End Sub



На C# написал:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
this.listBox1.GotFocus +=new EventHandler(listBox1_GotFocus);
this.listBox2.GotFocus +=new EventHandler(listBox2_GotFocus);

private void listBox1_GotFocus(object sender, EventArgs e)
		{
			this.listBox2.ClearSelected();
		}

		private void listBox2_GotFocus(object sender, EventArgs e)
		{
			this.listBox1.ClearSelected();
		}

НЕ РАБОТАЕТ !
...
Рейтинг: 0 / 0
2а ListBox'a. Как снять выделение Item'a ?
    #32883172
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо счас в c# напишу проэкт и выложу...
...
Рейтинг: 0 / 0
2а ListBox'a. Как снять выделение Item'a ?
    #32883194
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну вот, как я и думал все работает...может я вообще вопрос не так понял...
вот проэкт - прежде чем скомпилить у себя открой мое ехешник
...
Рейтинг: 0 / 0
2а ListBox'a. Как снять выделение Item'a ?
    #32884395
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2М234, ну че, работает?
...
Рейтинг: 0 / 0
2а ListBox'a. Как снять выделение Item'a ?
    #32885859
Лиман Артём2М234, ну че, работает?

M234
Мистика. У меня прога с идентичным кодом не работает.
Ваш пример работает. Чёрти-что. Попробую ещё раз такую же прогу с нуля написать. В любом случае странно. (Пожатие плечами).
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / 2а ListBox'a. Как снять выделение Item'a ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]