TabControl и Context Menu

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Dashka
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 15.11.2004 (Пн) 14:38

TabControl и Context Menu

Сообщение Dashka » 12.02.2007 (Пн) 12:39

На форме есть TabControl, с которым связано контекстное меню.

Надо сделать так, чтобы функции этого меню применялись к той закладке, на которую нажали правой кнопки мышки (предварительно открывая ее).
На данный момент получается, что меню появляется, а SelectedTab остается тем же.

Alex[fj]
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 278
Зарегистрирован: 17.02.2007 (Сб) 20:10
Откуда: Питер

Сообщение Alex[fj] » 27.02.2007 (Вт) 17:04

Пример:
Код: Выделить всё
TabControl1.SelectedTab.BorderStyle = BorderStyle.Fixed3D

У выбранной закладки меняем BorderStyle на Fixed3D.
Изображение
Стараюсь быть вполне хорошим (c) Лев Толстой

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.02.2007 (Вт) 17:36

Ерохин, я уже два раза удалял этот твой пост, как не имеющий к вопросу вообще никакого отношения.
Прочитай текст вопроса. Пойми его. И перестань помещать в этот топик то, что вообще, никаким боком к нему не относится.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Alex[fj]
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 278
Зарегистрирован: 17.02.2007 (Сб) 20:10
Откуда: Питер

Сообщение Alex[fj] » 28.02.2007 (Ср) 20:24

Да че, блин, такое?
Надо сделать так, чтобы функции этого меню применялись к той закладке, на которую нажали правой кнопки мышки...

Че, я не сказал, как это сделать?
Изображение
Стараюсь быть вполне хорошим (c) Лев Толстой

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 01.03.2007 (Чт) 4:08

Ты не читал вопрос.
Ты увидел в нём несколько знакомых слов, вырвал их, составил из них тескст, на который смог бы ответить и ответил.

Вопрос:
Есть tabcontrol. У него несколько вкладок. Активна одна из них. Производится щелчок правой кнопкой по другой, не активной вкладке. Возникает меню, но в этот момент свойство selectedtab указывает на предыдущую активную вкладку, а не ту, по которой реально щелкнули. Вопрос - как применить команды меню к реально щелкнутой вкладке.

Иными словами, в вопросе чётко описано, что то, что предлагаешь ты, есть не то, что нужно, потому что SelectedTab остаётся тем же. "Тем же", Ерохин, означает, что он по-прежнему указывает на старую вкладку. А не что он выглядит "не по-новому".
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Alex[fj]
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 278
Зарегистрирован: 17.02.2007 (Сб) 20:10
Откуда: Питер

Сообщение Alex[fj] » 01.03.2007 (Чт) 7:47

GSerg,
"Тем же", Ерохин, означает, что он по-прежнему указывает на старую вкладку. А не что он выглядит "не по-новому".

Это-то я понял, просто привел пример, в котором действие меню приходиться
к той закладке, на которую нажали правой кнопки мышки (предварительно открывая ее).

Просто понял так: мы открываем закладку, потом щелкаем правой кнопкой мыши, вылазеет меню, меняет свойства(или параметры) закладки и ее компонентов.
Изображение
Стараюсь быть вполне хорошим (c) Лев Толстой

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 01.03.2007 (Чт) 9:52

Тогда SelectedTab сам менялся бы. Проверь. Меняется.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dashka
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 15.11.2004 (Пн) 14:38

Сообщение Dashka » 02.03.2007 (Пт) 14:04

Хотя бы посоветуйте, как активизировать закладку правой кнопкой.

У Listbox'а такая же проблема.

Mongoose
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 84
Зарегистрирован: 29.03.2004 (Пн) 17:03
Откуда: Московский зоопарк

Сообщение Mongoose » 13.03.2008 (Чт) 14:48

Прошу прощение за возврат к старому топику, но необходимо нечто подобное... Не подскажете решения?
I Wish I Had An Angel For One Moment Of Love.

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 15.03.2008 (Сб) 20:38

Код: Выделить всё
Public Class Form1

  Dim CM1, CM2 As ContextMenu

  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
   Handles MyBase.Load
    CM1 = New ContextMenu
    CM2 = New ContextMenu
    CM1.MenuItems.Add("TabPage 0")
    CM2.MenuItems.Add("TabPage 1")
    TabPage1.ContextMenu = CM1
    TabPage2.ContextMenu = CM2
  End Sub

  Private Sub TabControl1_MouseDown(ByVal sender As Object, _
   ByVal e As System.Windows.Forms.MouseEventArgs) Handles TabControl1.MouseDown

    If e.Button <> Windows.Forms.MouseButtons.Right Then Exit Sub

    For i As Integer = 0 To TabControl1.TabPages.Count
      If TabControl1.GetTabRect(i).Contains(e.Location) Then
        TabControl1.SelectTab(i)
        TabControl1.SelectedTab.ContextMenu.Show(TabControl1, e.Location)
        Exit For
      End If
    Next
  End Sub

End Class
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList  
cron