Forma transparent (opacitate)

De data aceasta vreau să arăt un exemplu mic, în Visual Basic net. pe care mi-a plăcut atunci când am făcut prima dată. Nu este ceva ce noi folosim în fiecare zi, dar eu sunt sigur că vor dori şi veţi găsi în cazul în care. Mi place în mod special folosind-o atunci când am arata imaginea "Despre ...", în unele dintre aplicaţiile mele ...

Acesta este apariţia treptată a unui formular, până când începe se pare clar la 100%. Pentru a face acest lucru avem nevoie de a utiliza un control cronometru şi proprietatea Opacitate a formularului.

În exemplu, vom crea ceea ce două forme (Form1 şi Form2), Form1 cu un buton şi de acţiune a acestui buton este de a apela al doilea formular. A doua formă va apărea treptat şi va face acelaşi lucru atunci când am aproape. Aceasta ar trebui să arate ca în imaginea de mai jos:

Ei bine, ajunge să lucreze, haha.

În primul rând faceţi clic pe butonul eveniment pentru a încărca doua forme:

 Private Sub Button1_Click (ByVal Ca expeditor System.Object, ByVal e ca System.EventArgs) Manere Button1.Click
     Ca nouă Form2 Dim vForm2
     vForm2.ShowDialog ()
 End Sub

Inserare în două două componente sub formă de Temporizator (timer1 şi Timer2). Apoi, copiaţi codul de mai jos:

 Form2_Load Private Sub (expeditor ByVal Ca System.Object, ByVal e ca System.EventArgs) Manere MyBase.Load
     Me.Opacity = 0
     Timer1.Interval = 25
     Timer1.Enabled = True
 End Sub

 Sub Form2_FormClosing private (expeditor ByVal ca obiect, e ByVal Ca System.Windows.Forms.FormClosingEventArgs) Manere Me.FormClosing
     Timer2.Interval = 25
     Timer2.Enabled = True
     Dacă Me.Opacity> 0, atunci
         e.Cancel = True
     Final, dacă
 End Sub

 Timer1_Tick Private Sub (expeditor ByVal Ca System.Object, ByVal e ca System.EventArgs) Manere Timer1.Tick
     Dacă Me.Opacity = 1 Apoi,
         Timer1.Enabled = Fals
     Altfel
         Me.Opacity Me.Opacity + 0.02 =
         Me.Refresh ()
     Final, dacă
 End Sub

 Timer2_Tick Private Sub (expeditor ByVal Ca System.Object, ByVal e ca System.EventArgs) Manere Timer2.Tick
     Dacă Me.Opacity = 0 atunci
         Timer2.Enabled = Fals
         Me.Close ()
     Altfel
         Me.Opacity Me.Opacity = - 0,02
         Me.Refresh ()
     Final, dacă
 End Sub

Voi explica pe scurt ceea ce face:

Windows Forms au o proprietate numită opacitatea care stochează o valoare de la 0 la 1. Această valoare indică procentul de opacitate a forma, în cazul în care 1 100% 0 0% opac şi opac, care ar fi aceeaşi cu a spune 100% transparent. Deci, cu o valoare de 0,5 ar avea o forma de 50% 50% opac sau transparent (cum doriţi).

Ce face un control timer-ul este pentru a rula cod în cazul în Tick Programatorul a miestras permite proprietate la True si fiecare un interval determinat de proprietatea Interval.
Apoi, avem timer1 pentru atunci când deschideţi formularul (deci acrivo "Timer1.Enable = True", în cazul de încărcare şi de a Timer2, când este închis (pe formularul de evenimentul de încheiere).

Ei bine, eu nu va elabora în explicaţii, deoarece codul este scurt şi cred că este mult mai mult decât să clarifice.

Dacă vă place acest exemplu, lăsaţi un comentariu. Aş dori să ştiu ce preferinţele de vizitatori mele.

20 Responses to "Formular transparent (opacitate)"

  1. Bitacoras.com spune:

    Bitacoras.com informaţii ...

    Rata de în Bitacoras.com: de data aceasta vreau să vă arăt un exemplu mic, care mi-a plăcut atunci când am făcut prima dată. Nu este ceva ce noi folosim în fiecare zi, dar eu sunt sigur că vor dori şi veţi găsi în cazul în care. Particularm ...

  2. Fluireemi spune:

    Vă mulţumim!

  3. Mayang spune:

    GMN negc ... bingung ... dr. mana Dulu Mulai Nya ..
    GMN Sidebar buat KLU caiac?

  4. galvis spune:

    Ufff acest lucru foarte haha ​​Buno impreciono mine
    mulţumiri

  5. Jose Manuel spune:

    Aceasta oameni super-fine, dar daca daca poti trimite-mi melodii noi mea de mail, si mi-ar aprecia foarte mult oamenii ...

  6. cadru Medina spune:

    Bună ziua grăsimi, nu va avea nici de exemplu pentru a controla (fie eticheta, buton, cadru) transparente? mulţumiri

  7. Joel spune:

    Omul datorită acestui cod este bine ca omul este ceea ce cautati estava ..... datorită

  8. Sebastian spune:

    VA MULTUMESC foarte bine acest ESPLICADO

  9. NazGarB spune:

    Multumesc frate AC-un timp am fost uitam acest lucru, se realizează pro ACR d altfel Q nu este dorit, acum problema nu este realizarea ACR efect Q QL are loc atunci când formularul este conţinută într-un alt waaaaaaaaaaaa.

    Mulţumiri

  10. Jhonathan spune:

    ESAT bine ....
    dar ar dori să ştiu cum pentru a afişa imagini Q ua după altul, dar care desvanescan opacitate sau devin transparente ....

    grasias sperăm ajuta-ma!

  11. Eduardo spune:

    Sunt căutaţi pentru a face transparente, sau schimba opacitatea, unic de control, nu forma. ştie cineva?.

  12. Eder spune:

    Este foarte bun vă mulţumesc foarte mult

  13. Edwin spune:

    foarte bun de urmărire este apreciat mai multe informatii va rugam sa ..... foarte interesant

  14. Douglas Salcedo spune:

    Mare.

    M-am uitat la mai multe site-uri explicanción uşor de a gestiona componente ale Visual Studio. algunso sunt foarte săraci, alţii nu sunt clare si pe altii sa ia multe lucruri şi complica.

    Vreau să vă felicit pe blog-ul dvs.. Practic, "singur", pentru a explica şi de foarte mare ajutor.

    Multumesc ai ma ajutat foarte mult.

    Continua pentru a vedea exemple de dvs. pentru a finaliza în curând un proiect am în casa mea.

    Douglas Salcedo
    Miracle - Ecuador

    • Elisei spune:

      Vă mulţumesc foarte mult pentru comentariul tau, acesta este spiritul care conduce acest blog: nu ştiu totul, dar fiecare articol scris pentru a explica la fel de simplu şi practic posibil, fiecare subiect.
      În ceea ce priveşte
      Elisei

  15. david spune:

    Stare bună de lucruri

  16. Abigail spune:

    Te rog, am super-blocat, am nevoie să ştiu codul pentru a prelua conţinutul unei celule în cazul în care dau click pe un DataGridView în Visual Studio, într-adevăr mi-ar aprecia, sper ca raspunsul tau ... multumesc

    • Elisei spune:

      Hi
      trebuie să scrie cod în cazul clic de celule şi citiţi valoarea de datagridview1.currentCell.value

      sau

      datagridview1.currentrow.cell (N), valoarea în cazul în care n este indicele de coloană în cauză.

      Sper că vă servi

    • David spune:

      GrdDatos_MouseDoubleClick Private Sub (expeditor ByVal Ca System.Object, ByVal e ca System.Windows.Forms.MouseEventArgs) Manere GrdDatos.MouseDoubleClick

      Dacă Convert.ToInt32 (GrdDatos.CurrentRow.Index) <= Convert.ToInt32 (GrdDatos.Rows.Count - 2) Atunci
      txtOrdeninter.Text = GrdDatos.CurrentRow.Cells (0). Value.ToString ()
      Final, dacă
      txtOrdeninter.Text = GrdDatos.CurrentRow.Cells (0). Value.ToString ()
      txtPartinter.Text = GrdDatos.CurrentRow.Cells (1). Value.ToString ()
      txtCant_ter1inter.Text = GrdDatos.CurrentRow.Cells (4). Value.ToString ()
      txtcantdisp.Text = GrdDatos.CurrentRow.Cells (5). Value.ToString ()
      txtCant_EnvioInter.Text = GrdDatos.CurrentRow.Cells (6). Value.ToString ()
      txtLotinter.Text = GrdDatos.CurrentRow.Cells (10). Value.ToString ()
      txtMedidaInter.Text = GrdDatos.CurrentRow.Cells (13). Value.ToString ()

      ActDesBotones (adevărat)
      Dacă Convert.ToInt32 (GrdDatos.CurrentRow.Cells (4). Valoarea) = 0 atunci
      btnModificarInter.Enabled = Fals
      Final, dacă
      txtCant_EnvioInter.Focus ()
      End Sub

      Sper sa SERVE

Comentariu