Странное поведение формы
От: Аноним  
Дата: 22.11.04 08:44
Оценка:
Есть 2 формы.
Одна 1-я открывает второю.

На 1-ой форме у меня 2 контрола
textbox и button.

у textbox visible=false.

нажимаю на кнопку, открывается 2-я форма, затем закрываю ее.

при двойном щелке по форме устанавливаю:
textbox.visible=true
textbox.Focus()
textbox.Select(0, textbox.text..Length)

При нажатии клавиши Enter почему-то открывается снова 2-я форма (срабатывает button)

В чем может быть загвоздка?




данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Странное поведение формы
От: Аноним  
Дата: 22.11.04 08:55
Оценка:
А у тебя на первой форме случаем не определено ли свойство:
form1.AcceptButton=button;
Если определено, очисти его. Свойство AcceptButton выбирает кнопку, OnClick-событие которой будет срабатывать при нажатии Enter.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Странное поведение формы
От: Crazy_Student Россия  
Дата: 22.11.04 08:59
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть 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();
Может поможет???



А>
данное сообщение получено с www.gotdotnet.ru

А>ссылка на оригинальное сообщение
Странное поведение формы
От: Аноним  
Дата: 22.11.04 09:05
Оценка:
у меня
form1.AcceptButton =none;



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Странное поведение формы
От: Аноним  
Дата: 22.11.04 09:14
Оценка:
модал не поможет — у меня MDI формы.
Последовательность действий следующая.


я открываю форму1, затем нажимаю на кнопку — открывается 2-я форма. закрываю ее, делаю дабклик по 1 форме — появляется текстбокс1. если я просто потом кликну куда попало (при этом
TextBox1_LostFocus(.....)
TextBox1.visible=false

и потом вернусь в текстбокс1 — то при нажатии Enter ничего не произойдет, а если я нажму на кнопку, открою и затем закрою вторую форму, затем заставлю появиться текстбокс и нажимаю
Enter — снова открывается 2 я форма

пытался поймать вот так
TextBox1_KeyPress(ByVal ....)
здесь поставил точку останова

Button1_click(...)
и здесь

Сразу нажимаю Enter как только попадаю в текстбокс

и попадаю в Button1_click

(((




данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: Странное поведение формы
От: Crazy_Student Россия  
Дата: 22.11.04 09:24
Оценка:
Здравствуйте, Аноним, Вы писали:

А>модал не поможет — у меня 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?


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Странное поведение формы
От: Аноним  
Дата: 22.11.04 10:03
Оценка:
Попробуй заново создать кнопку и textbox. Или создай еще одну кнопку, которая делает тоже самое, что и первая, интересно в обработчик какой кнопки тогда попадем при нажатии Enter?

Попадаю в обработчик последней нажатой кнопки
все создал по новой.

добавил на форму лайбл в котором отображаю
Label1.Text = Me.ActiveControl.Name

когда вхожу в TextBox1
Label1.Text — TextBox1
....

та же фигня


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Странное поведение формы
От: Аноним  
Дата: 22.11.04 10:17
Оценка:
Может кнопка у тебя в фокусе после нажатия остается? Хотя странно всё это.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Странное поведение формы
От: Аноним  
Дата: 22.11.04 10:25
Оценка:
попробовал перехватить выход через
валидатор
textbox1_Validating
....

при нажатии Enter попадаю в него а потом в обработчик кнопки(





данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Странное поведение формы
От: Аноним  
Дата: 22.11.04 10:33
Оценка:
А код у тебя длинный получился? Может пришлешь сюда, глянуть.
Или хотя бы основные моменты.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Странное поведение формы
От: Аноним  
Дата: 22.11.04 10:55
Оценка:
На самом деле у меня там есть и другие контролы (я не хотел загружать тут вас)
Там есть и другие кнопки открывающие соответственно другие формы.
и текст боксов там 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





данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Странное поведение формы
От: Аноним  
Дата: 23.11.04 18:47
Оценка:
Сделал сам, не знаю правильно или нет но работает нормально:
Обработчик кнопки (защита от дурных нажатий
Private Sub cmdAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAdd.Click
if me.ActiveControl.Name="cmdAdd" then
        fTMC.Tag = Me
        fTMC.frmStatus = 1
        fTMC.Show()
        fTMC.Activate()
end if
    End Sub





данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.