2016-03-29 21 views
0

Dinamik bağlantı etiketlerini okuyordum, ancak yanıtımı bulamadım. Kodumda, satırları kontrol eden ve her üçüncüsü doldurulmuş bir bağlantı olan bir bağlantı ile bir .csv dosyası okuyorum. Bu her şey bir TableLayoutPanel aklında. Öyle gibi etiket oluşturma:Dinamik Bağlantı Etiketleri

 tableLayoutPanel1.Controls.Add(new LinkLabel() { Text = "TEST",Name = count.ToString(),Tag = @"N:\reuther", Anchor = AnchorStyles.Left, AutoSize = true }, 2, 3); 

yaşıyorum sorunu, bu sütunların bazıları boş olabilir yani, ben gerçekten herhangi birinde olacak kaç toplamda bilmiyorum anlamı an. Çevrimiçi olarak gördüğüm herhangi bir not, dinamik bağlantıyı adlandırın ve daha sonra, isme göre belirli bir bağlantının tıklandığını algılayan özel bir işlev kullanmaya devam edin. Bunu yapamam çünkü çalışma zamanına kadar kaç bağlantıya ihtiyaç duyulacağını asla bilmem. Örneğimde bağlantıyı adlandırabilir (ve yaptırabilirim), herhangi bir tıklamayı algılayacak olan genel bir ClickClick olayını kullanmak için zaten var mıdır, bu noktada sadece yolu etiketle açabilir miyim? Bunun etrafında dolaşmanın başka bir yolu var mı?

Teşekkür ederiz.

cevap

0

Biraz daha fazla sorunla sorunu çözdüm.

LinkLabel [] linkLabel = new LinkLabel [100];

 linkLabel[count] = new LinkLabel(); 
     linkLabel[count].Tag = @"N:\reuther"; 
     linkLabel[count].Text = "Click Me"; 
     tableLayoutPanel1.Controls.Add(linkLabel[count], 3, 4); 

    private void LinkedLabelClicked(object sender, LinkLabelLinkClickedEventArgs e) 
    { 
     string filepath = ((LinkLabel)sender).Tag.ToString(); 
     System.Diagnostics.Process.Start(filepath); 
    } 

Bu yöntemde, 100 bağlantı etiketi depolayan bir dizi oluşturdum. Onları oluşturduğumda, kaç tane bağlantı oluşturulduğunu saymak için bir sayım yöntemi kullanıyorum. Her bir bağlantıda, dosya yolunu ayarlamak için .Tag kullandım ve son olarak dize dosya yolunu Tag'e ayarladım, bu da daha sonra satırla açmamı sağladı. Teşekkür ederim.

İlgili konular