Vill rita linjer direkt på formen i och med att programmet startar. Jag har prövat med följande kod. Någon som vet vad jag gör för fel? Hej. Tack för de för hjälpen, testa det här ;-) Rita på formen?
Public Class Form1
Private gr1 As Graphics
InitializeComponent()
Dim myPenBlack As Pen = New Pen(Color.Black, 1)
gr1 = Me.CreateGraphics
gr1.DrawRectangle(myPenBlack, 10, 10, 130, 130)
Hälsningar FredrikSv: Rita på formen?
Testa detta, du får själv göra om till VB.NET :-)
(i eventet form_paint)
<code>
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
CreateGraphics().DrawRectangle(new Pen(new SolidBrush(Color.Black), 1), 10, 10, 130, 130);
}
</code>
//freddaSv: Rita på formen?
Urmmmm. Jag antar att detta inte är hela koden ?? ?
allt beror på var du försöker rita...
om du ritar i form_load, så måste du
skriva
me.show()
innan du kommer till din rekangelritnings kod.
jag rekomenderar även att du kör en dispose på gr1 när du är klar med den
om du vill ha den där rektangeln på formuläret hela tiden, så måste du även
rita upp den igen vid form_paint event
om du har koden i konstruktorn, (vilket jag misstänker eftersom du har initialize components anropet med,)
så flytta den därifrån. Sv: Rita på formen?
jag kom en bit framåt men inte hela vägen. Det jag egentligen vill göra är att lägga ut 100 buttons (fråga inte varför) i samband med att jag startar programmet och sedan lägga en rektangel som ram runt dem.
Har flyttat koden till form1_load och lagt till me.show överst. När jag debuggar så får jag en rektangel på formen, allt väl så långt, men när jag sedan lägger till koden som styr utläggandet av knapparna blir det problem. Jag ser rektangeln blippa upp på formen och sedan försvinner när knapparna läggs ut. Se kod nedan.
Private gr1 As Graphics
Private myPenBlack As Pen = New Pen(Color.Black, 1)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Show()
gr1 = Me.CreateGraphics
gr1.DrawRectangle(myPenBlack, 10, 10, 400, 400)
Dim i, j As Integer
For j = 1 To Me.Tabell
For i = 1 To Me.Tal
strucI += 1
Dim btnny As New Button()
btnny.Size = New Size(30, 30)
btnny.Location = New Point(35 * i, 35 * j)
btnny.Font = New System.Drawing.Font("Times New Roman",
Hur göra för att få ramen att stanna på formen när knapparna läggs ut?
Hälsningar FredrikSv: Rita på formen?
<code>
Private gr1 As Graphics
Private myPenBlack As Pen = New Pen(Color.Black, 1)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i, j As Integer
For j = 1 To Me.Tabell
For i = 1 To Me.Tal
strucI += 1
Dim btnny As New Button()
btnny.Size = New Size(30, 30)
btnny.Location = New Point(35 * i, 35 * j)
btnny.Font = New System.Drawing.Font("Times New Roman",
Next
Next
Me.Show()
gr1 = Me.CreateGraphics
gr1.DrawRectangle(myPenBlack, 10, 10, 400, 400)
gr1.dispose()
</code>
+ ha även med rektangelritningen i form paint