Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Отловить и предотвратить закрытие формы Добавлено: 24.03.08 20:16  

Автор вопроса:  Alex
Я делаю программу в VB.NET 2005 и столкнулся с проблемой. Каким событием формы отловить клик по кнопки с крестиком в верхнем правом углу, притом так, чтобы вывести сообщение "Вы хотите сохраниться перед выходом?" и если отвечают "Отмена", то форма НЕ закрывается.

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #1
Добавлено: 24.03.08 21:06
Private Sub Form_Unload(Cancel As Integer)
    If MsgBox("Сохранить файл перед выходом?", vbYesNoCancel) = vbCancel Then Cancel = True
End Sub


yf ljnytn cfv gthtdtlb =)

Ответить

Номер ответа: 2
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #2
Добавлено: 24.03.08 21:07
на дотнет сам переведешь =)

Ответить

Номер ответа: 3
Автор ответа:
 Alex



Вопросов: 3
Ответов: 11
 Профиль | | #3 Добавлено: 27.03.08 19:03
Эх, если бы все было так просто... Спасибо, но в том то и проблема, что не нашел я в дотнете такого события :( с возможностью отмены...

Ответить

Номер ответа: 4
Автор ответа:
 fluke



ICQ: 318170731 

Вопросов: 15
Ответов: 96
 Профиль | | #4 Добавлено: 27.03.08 19:09
'Form overrides dispose to clean up the component list.
    <System.Diagnostics.DebuggerNonUserCode()> _
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing AndAlso components IsNot Nothing Then
            components.Dispose()
        End If
        MyBase.Dispose(disposing)
    End Sub

Ответить

Номер ответа: 5
Автор ответа:
 Alex



Вопросов: 3
Ответов: 11
 Профиль | | #5 Добавлено: 27.03.08 20:11
Спасибо, то что надо!

Ответить

Номер ответа: 6
Автор ответа:
 ника



Вопросов: 1
Ответов: 111


 Профиль | | #6 Добавлено: 28.03.08 08:16
Dispose к событию закрытия формы никакого отношения не имеет. Для этого используют:

Ответить

Номер ответа: 7
Автор ответа:
 ника



Вопросов: 1
Ответов: 111


 Профиль | | #7 Добавлено: 28.03.08 08:17
Form.Closing Event

пример из MSND

[Visual Basic]
Private Sub Form1_Closing(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
   ' Determine if text has changed in the textbox by comparing to original text.
   If textBox1.Text <> strMyOriginalText Then
      ' Display a MsgBox asking the user to save changes or abort.
      If MessageBox.Show("Do you want to save changes to your text?", "My Application", MessageBoxButtons.YesNo) = DialogResult.Yes Then
         ' Cancel the Closing event from closing the form.
         e.Cancel = True
      End If ' Call method to save file...
   End If
End Sub 'Form1_Closing
End Class 'Form1

[C#]
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
   // Determine if text has changed in the textbox by comparing to original text.
   if (textBox1.Text != strMyOriginalText)
   {
      // Display a MsgBox asking the user to save changes or abort.
      if(MessageBox.Show("Do you want to save changes to your text?", "My Application",
         MessageBoxButtons.YesNo) ==  ;DialogResult.Yes)
      {
         // Cancel the Closing event from closing the form.
         e.Cancel = true;
         // Call method to save file...
      }
   }
}


Подробности тут:
http://msdn2.microsoft.com/en-us/library/system.windows.forms.form.closing(VS.71).aspx

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам