Visual Studio Da İndex Atama
-
vb6 formdaki bir objeyi c/p yaptığımızda objeye index atıyodu, mesela buttun1 var bunu kopyalayıp aynı forma yapıştırdık button1(0) ve button1(1) diye 2 button oluyodu, kopyaladıkça button1(2), button1(3)... diye devam ediyo. Bunu visual studioda nasıl yaparım.
-
Görmeyenler de görsün :)
-
bahsettiğiniz bu sanırım hocam ?
Tab Order ile yapabilirsiniz.
edit : ben olayı çok yanlış anlamışım ya :D isimmiş söz konusu :D
-
mesela button1 adında 100 tane button var, aşağıdaki kodla bunların textlerini değiştirecem
For i = 0 To 99
Button1(i).Text = i + 1
Next
bunun gibi şeyler için lazım, senin dediğinle bu yapılmaz sanırım
-
Aradığım özellik visual studioda yokmuş
http://msdn.microsoft.com/en-us/library/kxt4418a%28v=vs.71%29.aspx
-
private void Form1_Load(object sender, EventArgs e)
{
int i = 0;
foreach (Button btn in Controls.OfType<Button>().ToArray())
{
btn.Text = "btn" + i.ToString();
i++;
}
}
C# ta bu şekilde yapabilirsin vb kısmınıda tahribatın c# to vb servisi vardı ordan bi çevirttiriyim
-
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim a As Integer = 0
For Each btn As Button In Controls.OfType(Of Button).ToArray
btn.Text = "TBT" & a
Next
End Sub
Buda vb si biraz zorlayınca oldu :)
-
SinusX sağolasın ama bu kod formdaki bütün buttonların adını değiştiriyor, benim belirlediğim bir grup buttonun adını değiştirmesi lazım
Bu arada kodun vb yada c# olması farketmez ikiside işimi görür.
Edit: if le hallettim, artık bütün buttonların adını değiştirmiyor ama hala istediğim gibi olmadı :)
-
ADSIZ bunu yazdı:
-----------------------------SinusX sağolasın ama bu kod formdaki bütün buttonların adını değiştiriyor, benim belirlediğim bir grup buttonun adını değiştirmesi lazım
Bu arada kodun vb yada c# olması farketmez ikiside işimi görür.
Edit: if le hallettim, artık bütün buttonların adını değiştirmiyor ama hala istediğim gibi olmadı :)
-----------------------------foreach in içini kafan göre doldurabilirsin o sorun değil tam olarak yapmak istediğin nedir onu anlamadım ki ben :)
-
Mesela bu buttonlardan birine tıklayınca "(button adı) tıkladınız" gibi bişey yazmasını istiyorum ama bunu her buttonun click olayına tek tek yazamam :)
Zamanında vb6 da mayın tarlası yapmışım bunu kullanarak belki anlamanda yardımcı olur
Private Sub Command1_Click(Index As Integer)
Dim g(7) As Integer
Command2.SetFocus
If Label1(Index) = "#" Then
For f = 0 To 99
Command1(f).Visible = 0
Next f
MsgBox "Mayına bastın"
End If
aa = Index
gel:
dd = aa
Command1(dd).Visible = 0
Do While Label1(dd).Caption = ""
Command1(dd + 1).Visible = 0
dd = dd + 1
If dd Mod 10 = 9 Then Exit Do
Loop
dd = aa
Do While Label1(dd).Caption = ""
Command1(dd - 1).Visible = 0
dd = dd - 1
If dd Mod 10 = 0 Then Exit Do
Loop
aa = aa - 10
Command1(aa).Visible = 0
If aa > 0 And Label1(aa).Caption = "" Then GoTo gel
End Sub -
ADSIZ bunu yazdı:
-----------------------------Mesela bu buttonlardan birine tıklayınca "(button adı) tıkladınız" gibi bişey yazmasını istiyorum ama bunu her buttonun click olayına tek tek yazamam :)
-----------------------------öyle desene delege ile halledersin onu :) Birazdan eklerim buraya
