Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
DesktopNotes - MainForm.vb

MainForm.vb

Caricato da: Ale96
Scarica il programma completo

  1. Public Class MainFormDesktopNotes
  2.  
  3.     Private Sub BtnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnNew.Click
  4.         Dim NewForm As New MainFormDesktopNotes
  5.         'viene creata una classe esattamente uguale a quella della finestra
  6.         NewForm.Show()
  7.         'questa classe rappresenta la finestra e ne ha le stesse proprietà
  8.         'viene quindi mostrata all'utente e si comporta come se foose lo stesso
  9.         'programma aperto un'altra volta. infatti questa classe è totalmente
  10.         'indipendente dalla prima finestra aperta.
  11.         'volendo avrei anche potuto usare la funzione My.Application.Run
  12.         'che riapre il programma
  13.     End Sub
  14.  
  15.     Private Sub BtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSave.Click
  16.         Dim Save As New SaveFileDialog
  17.         'viene aperta una finestra per permettere all'utente di scegliere
  18.         'dove salvare il file
  19.         Save.Filter = "File di testo|*.txt|Tutti i file|*.*"
  20.         Save.DefaultExt = "txt"
  21.         If Save.ShowDialog = Windows.Forms.DialogResult.OK Then
  22.             'uuna volta scelto il percorso del file
  23.             'viene aperto uno streamwriter
  24.             Dim writer As New IO.StreamWriter(Save.FileName)
  25.             'questo scrive un certo testo nel percorso indicatogli
  26.             'tra parentesi durante la dichiarazione
  27.             writer.Write(TbxText.Text)
  28.             writer.Close()
  29.         End If
  30.     End Sub
  31.  
  32.     Private Sub BtnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOpen.Click
  33.         Dim open As New OpenFileDialog
  34.         open.Filter = "File di testo|*.txt|Tutti i file|*.*"
  35.         'viene permesso all'utente di scegliere il file da aprire.
  36.         If open.ShowDialog = Windows.Forms.DialogResult.OK Then
  37.             Dim Reader As New IO.StreamReader(open.FileName)
  38.             'viene letto tutto il contenuto del file e depositato nella casella di testo
  39.             TbxText.Text = Reader.ReadToEnd
  40.             Reader.Close()
  41.         End If
  42.     End Sub
  43.  
  44.     Private Sub BtnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClose.Click
  45.         If TbxText.Text = "" Then
  46.             Me.Close()
  47.             'se scrivessi application.exit chiuderei il programma, cosa da evitare
  48.             'visto che chiudendo il programma si perderebbero anche tutti gli appunti contenuti
  49.             'nelle altre finestre del programma.
  50.             'se l'utente non ha scritto nulla il programma si chiude
  51.         Else
  52.             'altrimenti chiede all'utente se vuole salvare il file
  53.             If MessageBox.Show("C'è del testo, lo salvo?", "DesktopNotes", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
  54.                 BtnSave_Click(BtnClose, e)
  55.                 Me.Close()
  56.             Else
  57.                 Me.Close()
  58.             End If
  59.         End If
  60.     End Sub
  61.  
  62.     Private Sub BtnOption_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOption.Click
  63.         OptionForm.Show()
  64.         'viene mostrata all'utente la finestra delle opzioni
  65.     End Sub
  66.  
  67.     Dim p As Point
  68.  
  69.     Private Sub Btn_MouseDown(ByVal sender As System.Object, ByVal e As MouseEventArgs) Handles BtnMove.MouseDown, BtnSizeNWSE.MouseDown, BtnSizeWE.MouseDown, BtnSizeNS.MouseDown
  70.  
  71.         If e.Button = Windows.Forms.MouseButtons.Left Then
  72.  
  73.             p = New Point(e.X, e.Y)
  74.             'viene impostata la variabile p sulle coordinate del click
  75.  
  76.         End If
  77.  
  78.     End Sub
  79.  
  80.     Private Sub BtnMove_MouseMove(ByVal sender As System.Object, ByVal e As MouseEventArgs) Handles BtnMove.MouseMove
  81.  
  82.         If e.Button = Windows.Forms.MouseButtons.Left Then
  83.  
  84.             Me.Location = New Point(Me.Location.X + e.X - p.X, Me.Location.Y + e.Y - p.Y)
  85.             'viene spostata la finestra
  86.  
  87.         End If
  88.  
  89.     End Sub
  90.  
  91.     Private Sub BtnSizeAll_MouseMove(ByVal sender As System.Object, ByVal e As MouseEventArgs) Handles BtnSizeNWSE.MouseMove
  92.  
  93.         If e.Button = Windows.Forms.MouseButtons.Left Then
  94.  
  95.             Me.Size = New Size(Me.Size.Width + e.X - p.X, Me.Size.Height + e.Y - p.Y)
  96.             'viene spostata la finestra
  97.  
  98.         End If
  99.  
  100.     End Sub
  101.  
  102.     Private Sub BtnSizeWidth_MouseMove(ByVal sender As System.Object, ByVal e As MouseEventArgs) Handles BtnSizeWE.MouseMove
  103.  
  104.         If e.Button = Windows.Forms.MouseButtons.Left Then
  105.  
  106.             Me.Size = New Size(Me.Size.Width + e.X - p.X, Me.Size.Height)
  107.             'viene ridimensiona solo la larghezza della finestre
  108.  
  109.         End If
  110.  
  111.     End Sub
  112.  
  113.     Private Sub BtnSizeHeight_MouseMove(ByVal sender As System.Object, ByVal e As MouseEventArgs) Handles BtnSizeNS.MouseMove
  114.  
  115.         If e.Button = Windows.Forms.MouseButtons.Left Then
  116.  
  117.             Me.Size = New Size(Me.Size.Width, Me.Size.Height + e.Y - p.Y)
  118.             'viene ridimensionata solo l'altezza della finestra
  119.  
  120.         End If
  121.  
  122.     End Sub
  123.  
  124.     'il drag and drop sarebbe stato inutile, perchè l'evento dragenter si verifica solo
  125.     'quando il cursore "entra" in un oggetto. invece l'evento mousemove si verifica quando
  126.     'il mouse si muove sopra un oggetto sia che sia premuto sia che non lo sia.
  127.  
  128.     'perchè queste procedure funzionino per lo scopo per il quale sono state scritte è stata
  129.     'dichiarata una variabile di tipo point prima di esse. prima di scriverle ho pensato che quando
  130.     'il mouse clicca su un pulsante e si muove la la finestra si deve muovere facendo sì che il
  131.     'punto dove ha cliccato il pulsante sia sempre alle stesse coordinate rispetto alla posizione
  132.     'del pulsante. ora non è molto difficile intuire che se il mouse si sposta in bass anche la
  133.     'finestra si si sposta in basso. (cosa che sarebbe meglio capire ancora prima di pensare
  134.     'a cosa scrivere)
  135.  
  136. End Class