Prosím o radu nad mé síly,potřeboval bych poradit jak udělat "to" že kdyš vytvořim picturebox v programu aby sem měll možnost vybrat si z pc jakej obrázek do něj vložim ale hlavně nevím jak zajistit aby sem na začátku programu měl třeba jen jeden picturebox nebo tlačítko kterým další vytvořim,a kdyš vytvořim další,automaticky se zobrazí na mnou předem dané poloze a bude mít vlastnosti které jsem naprogramoval. To znamená že mám již naprogramované pictureboxy ale já předem neznám jejich počet navíc se každý ukládá na určené souřadnice,nejspíš bych potřeboval něco jako pole ne? jen nevim jak mu určit že má tyto vlastnosti a tuto polohu kdyš to tak píšu přijde mi to strašně složité zde je kus kodu na ukázku vlastností(pictureboxy používám jako,jakási,animovaná tlačítka)
Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox2.Click
PictureBox1.Visible = True
PictureBox1.Image = PictureBox2.Image 'po kliknuti na ikonku se promitne na picturebox1
PictureBox6.Image = PictureBox1.Image 'ikona pro maximalizaci
PictureBox6.Visible = True
'zde naprogramuji přesuny
If PictureBox2.Top = 83 And PictureBox2.Left = 99 Then 'první pozice
PictureBox2.BringToFront()
ElseIf PictureBox2.Top = 128 And PictureBox2.Left = 160 Then 'druhá pozice
PictureBox2.Top = 83
PictureBox2.Left = 99
PictureBox2.Width = 94
PictureBox2.Height = 73
PictureBox2.BringToFront()
ElseIf PictureBox2.Top = 167 And PictureBox2.Left = 205 Then
PictureBox2.Top = 83
PictureBox2.Left = 99
PictureBox2.Width = 94
PictureBox2.Height = 73
PictureBox2.BringToFront()
End If
If PictureBox3.Top = 83 And PictureBox3.Left = 99 And PictureBox4.Top = 128 And PictureBox4.Left = 160 Then
PictureBox3.Top = 128
PictureBox3.Left = 160
PictureBox3.Width = 69
PictureBox3.Height = 57
PictureBox3.BringToFront()
PictureBox4.Top = 167
PictureBox4.Left = 205
PictureBox4.Width = 39
PictureBox4.Height = 32
ElseIf PictureBox3.Top = 128 And PictureBox3.Left = 160 And PictureBox4.Top = 83 And PictureBox4.Left = 99 Then
PictureBox3.Top = 167
PictureBox3.Left = 205
PictureBox3.Width = 39
PictureBox3.Height = 32
PictureBox4.Top = 128
PictureBox4.Left = 160
PictureBox4.Width = 69
PictureBox4.Height = 57
PictureBox4.BringToFront()
ElseIf PictureBox3.Top = 83 And PictureBox3.Left = 99 And PictureBox4.Top = 167 And PictureBox4.Left = 205 Then
PictureBox3.Top = 128
PictureBox3.Left = 160
PictureBox3.Width = 69
PictureBox3.Height = 57
PictureBox3.BringToFront()
ElseIf PictureBox3.Top = 167 And PictureBox3.Left = 205 And PictureBox4.Top = 83 And PictureBox4.Left = 99 Then
PictureBox3.Top = 128
PictureBox3.Left = 160
PictureBox3.Width = 69
PictureBox3.Height = 57
PictureBox3.BringToFront()
PictureBox4.Top = 167
PictureBox4.Left = 205
PictureBox4.Width = 39
PictureBox4.Height = 32
End If
PictureBox2.BringToFront()
End Sub
omnouvám se,je to trošku delší. funguje to tak že jsou 3 pictureboxy ,umístěny za sebou překrývajíc se rohem(kdo to zkusi zpustit,pochopí),a pokud kliknu na jeden,třeba poslední,přejede dopředu a ostatní za něj. To co potřebuji je vlastně aby se nový picturebox uložil na takhle danou souřadnici,třeba na první,ale to znamená že všem se musí změnit podmínky a to podle počtu pictureboxu.S tím že picturebox nacházející se mimo danou oblast by měl okamžitě hodnotu visible=false a přesunut třeba na nějaký společný hromadný bod kde není vidět.Po otocění kolečka myši přejedou první dozadu(zneviditelní se) a neviditelné,pojednom,podle místase zviditelní a oběví vzádu,s dalším otočením se posunou dopředějc.Omlouvám se pokud je to moc složité,nikoho nežádám o celý program,jen kdyby někdo poradil,popřípadě ukázal kus kodu který by mi k výsledku napomohl.Děkuji
|