2016-08-10 2 views
0

Wie zwei Unicode-Zeichen verketten ChrW durch die Verwendung und gibt sie zurück in eine Variable als char in vb.net, habe ich zwei Unicode-Zeichen Hier und wieder zurück zu einem NewValue char Variable, aber wenn ich J auf Textbox eingeben, nur ein Zeichen der RückkehrUnicode-Zeichenverkettungs und das Rück in vb.net

Function SindhiInput(MyInputBox As TextBox, OldValue As KeyPressEventArgs) As Char   

    Dim CursorPosition As Integer = MyInputBox.SelectionStart 
    Dim NewValue As Char = "" 

    Select Case OldValue.KeyChar 

     Case "J" 
      NewValue = ChrW(&H62C) + ChrW(&H6BE) 

      CursorPosition += 1 

    End Select 
    MyInputBox.SelectionStart = CursorPosition 

    Return NewValue 

End Function 

Es gibt nur die ersten Zeichen „Arabisch Ghe“

Wie kann ich wieder beide verketteten Zeichen nicht nur ein ?? Bitte Hilfe

+1

Ein 'Char'-Typ kann nur ein Zeichen enthalten. Sie müssen einen "String" -Typ verwenden, um mehrere zu halten. – sstan

Antwort

0

etwas genauer zu sein, ist Char auf 2 Byte begrenzt, aber dein Charakter scheint 4 Bytes

Dim c As Char = "جھ" ' this gives compilation warning "Implicit conversion from 'String' to 'Char'." 
    Dim c As Char = "جھ"c ' this gives compilation error "Character constant must contain exactly one character." 
    Dim s As String = "جھ" ' this is ok 
0

ich auf Variable als Zeichenfolge versucht haben, aber es doesnot Arbeit. Ich denke, das Problem ist möglicherweise hier .. Ich habe Keypress Event und Keychar verwendet, so kann es zwei Zeichen nicht .. wie kann ich dieses Problem lösen?

 Private Sub RTFInputBox_KeyPress(sender As Object, e As KeyPressEventArgs) Handles RTFInputBox.KeyPress 

     If SindhiToolStripMenuItem.Checked Then 
     e.KeyChar = SindhiInput(RTFInputBox, e) 


    ElseIf UrduToolStripMenuItem.Checked Then 
     'e.KeyChar = UrduiInput(e) 
    ElseIf ArabicToolStripMenuItem.Checked Then 
     'e.KeyChar = ArabicInput(e) 
    End If 
End Sub 
Verwandte Themen