powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как отловить событие начало редактирования
10 сообщений из 10, страница 1 из 1
как отловить событие начало редактирования
    #32566658
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочется, чтобы перед тем как пользователь начал редактировать ячейку ему выдавалось сообщение..

так не сработало :(Private Sub DataGrid1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DataGrid1.KeyPress
MsgBox("keypress")
End Sub
...
Рейтинг: 0 / 0
как отловить событие начало редактирования
    #32566699
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну можно конечно подписаться на keypress TextBox нашего грида.

Вас интересует сам факт начала редактирования определенного стобца, или всей строки?


Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
как отловить событие начало редактирования
    #32566716
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
одного столбца..
идея следующая - юзер хочет отредактировать поле в таблице, состоящей из полей трех таблиц (запросец с inner join)..
как только он тыркается в ячейку и начинает жать кнопки ему открывается формочка с той таблицей, поле которой он возжелал отредактировать...
...
Рейтинг: 0 / 0
как отловить событие начало редактирования
    #32566828
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно, не получается..
А
Private Sub DataGrid1_KeyPress (ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DataGrid1.KeyPress
MsgBox("keypress")
End Sub
когда вообще выполняется?
...
Рейтинг: 0 / 0
как отловить событие начало редактирования
    #32566829
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При наличии TableStyle collection.

Код: plaintext
1.
2.
3.
Dim column as DataGridTextBoxColumn = CType(Me.dataGrid1.TableStyles( 0 ).GridColumnStyles("columnName"),DataGridTextBoxColumn) ' где 0 - это индекс table style collection, а columnName - имя вашего столбца
'подпишемся на KeyPress
AddHandler column.TextBox.KeyPress, AddressOf MyTextBox_KeyPress

Обработаем keypress:
Код: plaintext
1.
2.
3.
Private Sub MyTextBox_KeyPress(sender as object, e as KeyPressEventArgs)
    msgbox("ok")
End sub


Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
как отловить событие начало редактирования
    #32566876
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, Sa.. Вы меня уже в который раз выручили. :)
...
Рейтинг: 0 / 0
как отловить событие начало редактирования
    #32567004
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как отменить введенный символ? т. е. вывести MsgBox, но в ячейке оставить старое значение.
(Счас выводит сообщение, а потом затирает инфу в ячейке)
...
Рейтинг: 0 / 0
как отловить событие начало редактирования
    #32567010
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И корректна ли такая конструкция?
кусочек кодаPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AdapAll.Fill(DsAll1)

Dim column As DataGridTextBoxColumn = CType(Me.DataGrid1.TableStyles(0).GridColumnStyles("type"), DataGridTextBoxColumn)
Dim column2 As DataGridTextBoxColumn = CType(Me.DataGrid1.TableStyles(0).GridColumnStyles("reg_n"), DataGridTextBoxColumn)
'где 0 - это индекс table style collection, а columnName - имя вашего столбца
'подпишемся на KeyPress
AddHandler column.TextBox.KeyPress, AddressOf MyTextBox_KeyPress
AddHandler column2.TextBox.KeyPress, AddressOf MyTextBox_KeyPress
End Sub


Private Sub MyTextBox_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs)
MsgBox("ok")
Exit Sub
...
Рейтинг: 0 / 0
как отловить событие начало редактирования
    #32567058
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дудкин
И корректна ли такая конструкция?


Корректна, это получается всего лишь один обработчик keypress на несколько column.



А как отменить введенный символ? т. е. вывести MsgBox, но в ячейке оставить старое значение.
(Счас выводит сообщение, а потом затирает инфу в ячейке)


Код: plaintext
1.
2.
3.
4.
Private Sub MyTextBox_KeyPress(sender as object, e as KeyPressEventArgs)
    msgbox("ok")
    e.Handled = true
End sub
...
Рейтинг: 0 / 0
как отловить событие начало редактирования
    #32567088
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, Sa
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как отловить событие начало редактирования
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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