В своем стремлении плавно обновлять TextBox
символы программным способом я столкнулся со свойством TextBox.Lines. От его подписи
[LocalizableAttribute(true)]
public:
property array<String^>^ Lines {
array<String^>^ get ();
void set (array<String^>^ value);
}
кажется, что он предлагает доступ для чтения и записи, однако, когда я обновляю одну строку, я не вижу обновления, применяемого ни в отладчике, ни на экране. Почему MicroSoft публикует вводящие в заблуждение заголовки, когда он может просто пропустить средство доступа set из объявления свойства?
Запись MSDN http://msdn.microsoft.com/en-US/library/system.windows.forms.textboxbase.lines%28v=VS.80%29.aspx предлагает несколько запутанных советов:
NoteNote
По умолчанию коллекция строк является доступной только для чтения копией строк в TextBox. Чтобы получить доступную для записи коллекцию строк, используйте код, подобный следующему: textBox1.Lines = new string[] { "abcd" }
;
Но это вовсе не получение каких-либо строк, а их установка. Имеет ли этот фрагмент кода дополнительное значение для обновления отдельных строк? Если так, что я пропускаю?
EDIT
Джон, вот как я думал, что обновил
for ( int counter = 0; counter < lineStrideInBytes - NEWLINECHARCNT; counter++ )
{
int srcI = LineBeingWrittenI * (lineStrideInBytes) + counter;
replacedLine->Append(TextBoxStr[srcI]);
}
replacedLine->AppendLine(); //NEWLINECHARS
replacedLine[col] = chr; //Updated char
textBox1->Lines[LineBeingWrittenI] = replacedLine->ToString();