Bind een Char[] property aan een Textbox Text in Winforms

Status
Niet open voor verdere reacties.

HelpElec

Gebruiker
Lid geworden
6 mrt 2013
Berichten
102
Hallo allemaal,

Ik heb een Class met een property waarvan de individuele Chars aanpasbaar moeten zijn in runtime en die ik kan binden aan de Text-property van een Textbox.
Maar
als deze prop van het type String is kun je de Chars van de String alleen lezen,
als deze prop van het type StringBuilder of Chars[] is, kun je hem niet binden aan een Textbox(Er komt Char[]-matrix of niks in de Textbox te staan).

Ik wil dit graag oplossen zonder een conversie of een extra property, als dat kan. Ik werk met Winforms.
Iemand een idee?
Bedankt!
 
als je iets "bind" is het uiteraard niet direct aanpasbaar als een resource. direct aanpassen van een memory source is niet "safe".

Maar ik zie ook geen enkel probleem of toepassing waar dit nodig is? Volgens mij zit er ergens een denkfout in wat je wil implementeren.

strings moet je altijd opnieuw construeren als je ze wil aanpassen. Als je de string van stringbuilder wil gebruiken moet je stringbuilder.tostring() gebruiken.
 
Hallo!

Even de toepassing: Ik krijg via CAN-bus de String die ik dus in een Textbox wil weergeven in meerdere berichten als een reeks Chars binnen.
Ik wil dan met een Char-array werken:
Code:
public Char[] MyChars
{
get
{
return _MyChars;
}
set
{
_MyChars = value;
OnPropertyChanged("MyChars_Changed");
}

,zodat ik in m'n MessageHandler de Chars op de juiste plaats kan zetten:

Code:
MessageHandler(Byte[] Data)
{
for(int i = 0 ; i < Data.Length;i++)
{
    Clss.MyChars[Index] = (Char)Data[i];
    Index++;
}
}

En dan MyChars binden aan een textbox

Code:
BindingSource BndSrc = new BindingSource();
BndSrc.DataSource = typeof(MyClass);
BndSrc.Add(Clss);

Txtbx.DataBindings.Add("Text", BndSrc, "MyChars", true, DataSourceUpdateMode.OnPropertyChanged);

Ik wil MyChars later ook weer kunnen doorsturen.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan