Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите разобраться с мышкой C# проге 
:(
    Опции темы
proQuest
Дата 9.9.2006, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 7.9.2006

Репутация: нет
Всего: нет



Как мне сделать, чтобы TabPage из TabControl открывался ( на TabControl создано несколько страниц TabPage) по щелчку не только левой кнопки мыши, но и правой, ну ни как не получается! Если кто знает помогите неопытному пожалуйста. smile 
PM MAIL   Вверх
HalkaR
Дата 9.9.2006, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



Поставить обработчик на OnMouseButtonClick и выбирать нужную закладку.
PM MAIL   Вверх
proQuest
Дата 14.9.2006, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 7.9.2006

Репутация: нет
Всего: нет



Цитата

Поставить обработчик на OnMouseButtonClick и выбирать нужную закладку.

Наверное я не совсем правильно сформулировал проблему.
Код

private void tabControl1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
    {
        tabControl1.SelectTab(TabName or TabIndex??);
    }
}

В том то все и дело, что я не могу узнать на какой именно закладке пользователь щелкнул правой кнопкой мыши. Когда щелкаем левой кнопкой, закладка на которой щелкнули автоматически становится текущей активной, и получить ее номер не составляет труда:
Код

tabControl1.SelectedIndex

 Но как мне получить имя или индекс закладки, о которой я знаю только то, что на нее наведен указатель мыши? smile 

PM MAIL   Вверх
HalkaR
Дата 17.9.2006, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



Попробуй так.
Код

tab_name.Bounds.Contains(Point);

Если не получится, попробуй скрыть закладки
Код

this.tabControl1.ItemSize = new System.Drawing.Size(0, 1);

И заменить закладки кнопками.
PM MAIL   Вверх
proQuest
Дата 28.9.2006, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 7.9.2006

Репутация: нет
Всего: нет



Спасибо за помощь, HalkaR, но что-то у меня пока не получается  smile 
PM MAIL   Вверх
HalkaR
Дата 28.9.2006, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



proQuest, что не получается - конкретнее плиз.
PM MAIL   Вверх
stab
Дата 28.9.2006, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 1
Всего: 48



попробуй с методом GetChildAtPoint поиграться..


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
andrx
Дата 28.9.2006, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Андрей
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 16.12.2005
Где: Киев

Репутация: 1
Всего: 4



добиться требуемого эффекта можно так :
Код

public class yourTabControl : System.Windows.Forms.TabControl
{
    protected override void WndProc(ref Message m)
    {
        if ( (int)m.WParam == 2 && m.Msg == 516 )
        {
            m.WParam = (IntPtr)1;
            m.Msg = 513;
        }
        base.WndProc (ref m);            
    }
}


а в проекте сделай поправку у соответствующего контрола тип TabControl замени на yourTabControl по всему проекту.
должно все работать, на 2003 проверял 
удачи !



Это сообщение отредактировал(а) andrx - 28.9.2006, 17:48
--------------------
Лучше скажи мало, но хорошо. (Козьма Прутков)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0705 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.