Trang 1 trên 1

Form trong suốt, Form Hình dạng bất kỳ, TitleBar giả

Đã gửi: T.Năm 22/12/2011 12:08 am
gửi bởi kingstar99
Thủ thuật: Form trong suốt, Form Hình dạng bất kỳ, TitleBar giả
Tác giả: kingstar99
Mô tả: Form trong suốt, Form Hình dạng bất kỳ, TitleBar giả


Mình làm quen với VB.Net được 3 tháng rồi, hôm nay mạo muội viết bài đầu tiên mong được học hỏi thêm nhiều ý kiến hay !

Những đề tài mình đưa ra không mới mẻ gì, nhưng những cách trên các diển đàn hơi phức tạp và khó hiểu !

I-Form trong suốt
Trong sự kiện LoadForm chèn code sau:
  1. Private Sub Frm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.         TransparencyKey = BackColor
  3.  End Sub
  4.  


II-Form hình dạng bất kỳ

Từ Form trong suốt đó cho vào 1 PictureBox với các thuộc tình sau:
Dock=Fill
Image "Cho vào một ảnh *.png hìnhdạng bất kỳ
BackColor=Transparency

III-TitleBar giả (di chuyển được Form)
Thuộc tính BoderStyle=None
Cho vào một PictureBox đặt vị trí trên cùng giống như TitleBar

  1. Dim IsMouseDown = False
  2.     Dim startPoint
  3.     Private Sub TitleBar_MouseUp_1(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TitleBar.MouseUp
  4.         IsMouseDown = False
  5.     End Sub
  6.     Private Sub TitleBar_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TitleBar.MouseDown
  7.         startPoint = e.Location
  8.         IsMouseDown = True
  9.     End Sub
  10.     Private Sub TitleBar_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TitleBar.MouseMove
  11.         If IsMouseDown Then
  12.             Dim p1 = New Point(e.X, e.Y)
  13.             Dim p2 = PointToScreen(p1)
  14.             Dim p3 = New Point(p2.X - startPoint.X, p2.Y - startPoint.Y)
  15.             Location = p3
  16.         End If
  17.       End Sub
  18.  


Hy vọng hữu ích !

Re: Form trong suốt, Form Hình dạng bất kỳ, TitleBar giả

Đã gửi: T.Bảy 24/12/2011 1:52 pm
gửi bởi thanghungkhi
Em có đọc chủ đề này của CLB VB, nhưng chỉ có code nên không hiểu lắm, chỉ ctrl+c rồi ctrl+v, giờ thì hiểu rồi ^^

Re: Form trong suốt, Form Hình dạng bất kỳ, TitleBar giả

Đã gửi: CN 05/02/2012 11:26 pm
gửi bởi Songuku95
Sao em cài cái thay đổi hình dạng Form nó lại ra thế này ạ? Ai giúp em với :)
Hình ảnh

Re: Form trong suốt, Form Hình dạng bất kỳ, TitleBar giả

Đã gửi: CN 05/02/2012 11:32 pm
gửi bởi nimgiaminh
Bạn cần đặt thuộc tính form border là none

Re: Form trong suốt, Form Hình dạng bất kỳ, TitleBar giả

Đã gửi: T.Hai 06/02/2012 10:17 pm
gửi bởi Songuku95
Em làm được rồi
Nhưng như thế này thì không di chuyển được Form. Hơn nữa lại ko có 3 cái thanh Close, Restore, Minimize

Re: Form trong suốt, Form Hình dạng bất kỳ, TitleBar giả

Đã gửi: T.Ba 16/10/2012 1:25 pm
gửi bởi nhatlinh0207
hay đấy. mình làm được rồi. nhưng chỉ thắc mắc là khi chèn button thì vẫn có chỗ trên button nhìn xuyên qua được thế lại hơi xấu ;;)

Re: Form trong suốt, Form Hình dạng bất kỳ, TitleBar giả

Đã gửi: T.Tư 17/10/2012 6:24 pm
gửi bởi nimgiaminh
Vậy bạn đặt lại background của button.

Re: Form trong suốt, Form Hình dạng bất kỳ, TitleBar giả

Đã gửi: T.Sáu 22/02/2013 12:44 pm
gửi bởi tranbadat
cái này hay nè!!!