2016-04-12 20 views
1

vb.net 3 * 3 matris içinde düzenlenmiş 9 düğmeler var.vb.net iki düğme arasında çizgiler nasıl çizilir?

btn1 btn2  btn3 
btn4 btn5  btn6 
btn7 btn8  btn9 

varsayalım, o zaman btn6 için btn3 için btn2 için btn3 ve ardından hat btn1 den çizilmelidir btn6 son tıklamasıyla sonra btn2 benim fareyi btn1 tıklarsanız. Bunun gibi

:

btn1----btn2----btn3 
       | 
btn4 btn5 btn6 

btn7 btn8 btn9 

varsayalım, ben ilk btn5 ve btn2 son tıklama sonra hat bu şekilde çizilmelidir btn8 için btn9 sonra benim fareyi btn6 tıklarsanız:

btn1 btn2 btn3 

btn4 btn5 btn6 
     |  | 
btn7 btn8----btn9 

Bu tür çizgiler nasıl çizilir? Herhangi bir fikrin var mı?

+0

Özel kontrolleri, boya olaylarını ele vb değişkenlerde bilgi depolamak –

+0

sadece yatay ve dikey hatlara kısıtlamadan musunuz? Örneğin, btn1'den btn5'e tek bir hareketle gidebilir miydiniz? –

+0

Evet. btn1 gibi btn5 gibi btn7'ye de çapraz olarak gidebiliriz. –

cevap

0

Bunu bir Paint etkinliğinde yapmanız gerekir; formda ya da bir resim kutusu ekleyin ve olayı ona ekleyin. Amaç, operatörün fareyi etrafında sürüklediği sayısal bir "tuş takımı" sağlamayı amaçlıyor mu? Durum böyleyse, resim kutusunu ekleyip resim düğmesinin boya olayının içine "düğmelerini" çizerdim. Bu şekilde "düğmelerin" ve kodun konumunu depolamanız, farenin hangi düğmelere tıklatılıp üzerine taşındığını belirlemek için mouseDown ve mouseMove olaylarını yakalayabilir. satırları çizmek için e.graphics.DrawLine (pens.black, x1, y1, x2, y2) işlevini kullanın. Formda yaparsanız, düğmelerin yerini bilmeniz ve aralarında çizim yapmanız gerekir, bunlar çalışma zamanında program tarafından elde edilebilir.

Private Sub Form1_Paint(sender As Object, e as PaintEventArgs) Handles Me.Paint 
    Dim X1 as Integer = Button1.Location.X + Button1.Width /2 
    Dim Y1 as Integer = Button1.Location.Y + Button1.Height/2 
    Dim X2 as Integer = Button2.Location.X + Button2.Width /2 
    Dim Y2 as Integer = Button2.location.Y + Button2.Height/2 
    Dim X3 as Integer = Button3.Location.X + Button3.Width /2 
    Dim Y3 as Integer = Button3.location.Y + Button3.Height/2 
    Dim X4 as Integer = Button4.Location.X + Button4.Width /2 
    Dim Y4 as Integer = Button4.location.Y + Button4.Height/2 
    Dim X5 as Integer = Button5.Location.X + Button5.Width /2 
    Dim Y5 as Integer = Button5.location.Y + Button5.Height/2 
    Dim X6 as Integer = Button6.Location.X + Button6.Width /2 
    Dim Y6 as Integer = Button6.location.Y + Button6.Height/2 
    Dim X7 as Integer = Button7.Location.X + Button7.Width /2 
    Dim Y7 as Integer = Button7.location.Y + Button7.Height/2 
    Dim X8 as Integer = Button8.Location.X + Button8.Width /2 
    Dim Y8 as Integer = Button8.location.Y + Button8.Height/2 
    Dim X9 as Integer = Button9.Location.X + Button9.Width /2 
    Dim Y9 as Integer = Button9.location.Y + Button9.Height/2 
    e.Graphics.DrawLine(Pens.Black, X1, Y1, X2, Y2) 
    e.Graphics.DrawLine(Pens.Black, X2, Y2, X3, Y3) 
    e.Graphics.DrawLine(Pens.Black, X3, Y3, X6, Y6) 
End Sub 
İlgili konular