А у тебя на первой форме случаем не определено ли свойство:
form1.AcceptButton=button;
Если определено, очисти его. Свойство AcceptButton выбирает кнопку, OnClick-событие которой будет срабатывать при нажатии Enter.
Здравствуйте, Аноним, Вы писали:
А>Есть 2 формы. А>Одна 1-я открывает второю.
А>На 1-ой форме у меня 2 контрола А>textbox и button.
А>у textbox visible=false.
А>нажимаю на кнопку, открывается 2-я форма, затем закрываю ее.
А>при двойном щелке по форме устанавливаю: А>textbox.visible=true А>textbox.Focus() А>textbox.Select(0, textbox.text..Length)
А>При нажатии клавиши Enter почему-то открывается снова 2-я форма (срабатывает button)
А>В чем может быть загвоздка?
Такой вопрос, ты щелакаешь по 1 форме, т.е. ее создаешь, и при ее создании показываешь textbox, Так? у тебя же 1 кнопка, ты щелкая enter, вызываешь 2 форму, можешь попробовать для 2 формы, функцию Form2->ShowModal();
Может поможет???
модал не поможет — у меня MDI формы.
Последовательность действий следующая.
я открываю форму1, затем нажимаю на кнопку — открывается 2-я форма. закрываю ее, делаю дабклик по 1 форме — появляется текстбокс1. если я просто потом кликну куда попало (при этом
TextBox1_LostFocus(.....)
TextBox1.visible=false
и потом вернусь в текстбокс1 — то при нажатии Enter ничего не произойдет, а если я нажму на кнопку, открою и затем закрою вторую форму, затем заставлю появиться текстбокс и нажимаю
Enter — снова открывается 2 я форма
пытался поймать вот так
TextBox1_KeyPress(ByVal ....)
здесь поставил точку останова
Button1_click(...)
и здесь
Сразу нажимаю Enter как только попадаю в текстбокс
Здравствуйте, Аноним, Вы писали:
А>модал не поможет — у меня MDI формы. А> Последовательность действий следующая.
А>я открываю форму1, затем нажимаю на кнопку — открывается 2-я форма. закрываю ее, делаю дабклик по 1 форме — появляется текстбокс1. если я просто потом кликну куда попало (при этом А>TextBox1_LostFocus(.....) А>TextBox1.visible=false
А>и потом вернусь в текстбокс1 — то при нажатии Enter ничего не произойдет, а если я нажму на кнопку, открою и затем закрою вторую форму, затем заставлю появиться текстбокс и нажимаю А>Enter — снова открывается 2 я форма
А>пытался поймать вот так А>TextBox1_KeyPress(ByVal ....) А>здесь поставил точку останова
А>Button1_click(...) А>и здесь
А>Сразу нажимаю Enter как только попадаю в текстбокс
А>и попадаю в Button1_click
А>(((
А ты попробуй в Properties посмотреть, допустим OnClick открываешь форму и ставишь н-р флаг(True),и смотришь
иначе флаг False.и смотришь свой TextBox, да конечно то еще извращение но у меня на первом курсе такой замут прокатил!!!
А>данное сообщение получено с www.gotdotnet.ru А>ссылка на оригинальное сообщение
Re: Странное поведение формы
От:
Аноним
Дата:
22.11.04 09:28
Оценка:
Чудес не бывает!
Попробуй заново создать кнопку и textbox. Или создай еще одну кнопку, которая делает тоже самое, что и первая, интересно в обработчик какой кнопки тогда попадем при нажатии Enter?
Попробуй заново создать кнопку и textbox. Или создай еще одну кнопку, которая делает тоже самое, что и первая, интересно в обработчик какой кнопки тогда попадем при нажатии Enter?
Попадаю в обработчик последней нажатой кнопки
все создал по новой.
добавил на форму лайбл в котором отображаю
Label1.Text = Me.ActiveControl.Name
когда вхожу в TextBox1
Label1.Text — TextBox1
....
На самом деле у меня там есть и другие контролы (я не хотел загружать тут вас)
Там есть и другие кнопки открывающие соответственно другие формы.
и текст боксов там 3 штуки.
И что самое интересное — ведут они себя совершенно одинаково-
на каком текстбоксе нажмешь Enter срабатывает последняя кнопка
acceptsreturn у всех false
я поменял текст бокс нам НумАпДаун все по -прежнему
Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick
Dim x As Rectangle
Dim x1 As Integer
x = ListView1.GetItemRect(ListView1.SelectedIndices.Item(0))
x1 = ListView1.Columns(0).Width + ListView1.Columns(1).Width + ListView1.Columns(2).Width + ListView1.Left
'ListView1.SelectedItems(0).GetBounds()
Num1.SetBounds(x1 + 3, x.Top + ListView1.Top, ListView1.Columns(3).Width, x.Height)
Num1.Value = ListView1.SelectedItems(0).SubItems(3).Text
Num1.Visible = True
Num1.Focus()
Num1.Select(0, Num1.Value.ToString.Length)
Num1.Focus()
Label1.Text = Me.ActiveControl.Name
End Sub
Обработчик кнопки
Private Sub cmdAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAdd.Click
fTMC.Tag = Me
fTMC.frmStatus = 1
fTMC.Show()
fTMC.Activate()
End Sub
и еще — 2-ю форум(fTMC) я не выгружаю а просто делаю
hide
Закрываю 2-ю форму так:
Private Sub cmdClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdClose.Click
frmStatus = 0
If Not IsNothing(Tag) Then
Me.Hide()
frmStatus = 0
Tag.activate()
Me.Tag = Nothing
End If
End Sub