2016-04-11 23 views
1

yolunda çok fazla ile uğraştığım gibi basit şeylerle uğraşıyorum.Textbox değiştirin ve çalışmıyor çalışmıyor vb.net

Bir makineden bazı bilgileri toplayan vb.net'de bir UI geliştiriyorum. bilgiler, bir TextBox toplanır:

Private Sub ReceivedText(ByVal [text] As String) 
    If Me.TextBox2.InvokeRequired Then 
     Dim x As New SetTextCallBlack(AddressOf ReceivedText) 
     Me.Invoke(x, New Object() {(text)}) 
    Else 
     Me.TextBox2.Text &= [text] 
    End If 
End Sub 

Sonra ben basit bilgileri görüntülemek için bir DataGridView ya da bazı etiketlere ya o bilgi toplamak.

Sub dgv() 

    Dim sup2 = TextBox2.Text.Replace("#", "").Replace(">", " "c) 
    Dim sup() = sup2.Split(" "c, "#", vbCrLf, vbTab) 

    With DataGridView1 
     .Rows(0).Cells(0).Value = sup(1).ToString 
     .Rows(0).Cells(1).Value = sup(7).ToString 
     .Rows(0).Cells(3).Value = sup(4).ToString 
    End With 
    Button5.Enabled = True 
    Button6.Enabled = True 
End Sub 

Bu iyi çalışıyor!

Etiketleri yerleştirmeye çalıştığımda, aşağıdaki kodla, işe yaramıyor!

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

    Thread.Sleep(250) 

    Dim final = TextBox2.Text.Replace("#", "").Replace("SN", " "c) 
    Dim final2() = final.Split(" "c, "#", vbCrLf, vbTab) 
    Label1.Text = final2(0).ToString 
    Textbox2.Text= final2(0).ToString 

End Sub 

Birisi bana yardımcı olabilir mi? Etiket metni almaz .. ve metin kutusu hepsini alır.

Btw, metin kutusu çok satırlıdır ve metni microsoft sözcüğüne yapıştırırsam sekmeler ve fazladan boşluklarla gelir.

Düzenleme: Aşağıdaki microsoft word gelen PrintScreen

wordprintscreen

EDIT2

[ Multiline Textbox to Datagridview ilgili]: Bu çok garip ..

ben sadece onu bu

Label1.Text = "Testing" & TextBox2.Text 

yaparsanız etiket üzerinde "Test" ibaresini gösterir.

+1

gibi olurdu boş bir dize, o zaman neden dizinizde daha fazla olmayan # ile bölmeyi denediniz? – Steve

+3

[Option Strict On] seçeneğini kullanmanızı öneririm (https://msdn.microsoft.com/en-us/library/zcd4xwzs.aspx). Sorunları düzelttikten sonra (örneğin, argümanlar olarak (string, string, string) argüman olarak geçen String.Split aşırı yüklenme yok) programınızı bulabilir. –

+0

@Steve bazı şeyleri test ediyordum! Ofc bu şekilde mantıklı değil! – noidea

cevap

0

Etiketi AutoSize olarak ayarlarsanız, koyduğunuz metne otomatik olarak büyür. (Bu dikey büyümeyi içerir.) label1 için

assign önce değerini,

kullanın Aşağıdaki kod

Label1.MaximumSize = new Size(100, 0) 
Label1.AutoSize = true 
Birlikte # değiştirin

kodunuzu

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

    Thread.Sleep(250) 

    Dim final = TextBox2.Text.Replace("#", "").Replace("SN", " "c) 
    Dim final2() = final.Split(" "c, "#", vbCrLf, vbTab) 
    Label1.MaximumSize = new Size(100, 0) 
    Label1.AutoSize = true 
    Label1.Text = final2(0).ToString 
    Textbox2.Text= final2(0).ToString 

End Sub 
+0

Nope. İşe yaramıyor .. Etiket metni göstermiyor ve Metin kutusu tüm metni gösterir. – noidea

+0

Yardımcı olup olmadığını bilmiyorum, ancak tüm formatlardan kurtulmak istiyorum. Soru güncellendi btw! – noidea

İlgili konular