Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > TextBox->Lines[i]="some string";


Автор: AntonX 10.10.2008, 19:47
есть multiline TextBox;

Добавил в него несколько строк:
Код

for(int i=0;i<10;i++)
TextBox->Text+="s"+Environment.NewLine;

TextBox->Lines[3]="some string";



компилируется и выполняется без ошибок.
но и изменяемая строка не меняется.

что за х...

Автор: mihryak 10.10.2008, 20:50
Цитата(MSDN)
By default, the collection of lines is a read-only copy of the lines in the TextBox. To get a writable collection of lines, use code similar to the following: textBox1.Lines = new string[] { "abcd" };

http://msdn.microsoft.com/en-us/library/system.windows.forms.textboxbase.lines.aspx

Автор: AntonX 10.10.2008, 21:02
Цитата

By default, the collection of lines is a read-only copy of the lines in the TextBox. To get a writable collection of lines, use code similar to the following: textBox1.Lines = new string[] { "abcd" };


я это читал. Либо я не просек фишку, либо это не то.

если можно. ближе к примеру. Как сделать так, чтобы строки менялись?
в C++ Builder 6.0 это вовсе просто делатся. 
наверное и в VS.net 2005 не должно быть гемора.

Автор: mihryak 10.10.2008, 23:15
гемора нет, просто иначе некоторые вещи делаются

Автор: elbjarn 10.10.2008, 23:20
AntonX, вам же уже пояснили, что свойство Lines контрола TextBox доступно только для чтенияsmile. если хотите изменить его, скопируйте содержимое во временную переменную, произведите с ней необходимые манипуляции, а потом присвойте значение этой переменной обратно свойству Lines.
Код

string[] temp = new string[] { "string1", "string2", "string3", "string4" };
textBox3.Lines = temp; // исходный текст
temp[2] = "another string";
textBox3.Lines = temp; // измененный текст

Автор: AntonX 11.10.2008, 12:11
elbjarn,  спасибо большое. А то я уже начал расстраиваться.

Автор: Partizan 11.10.2008, 20:22
elbjarn, 
Цитата

вам же уже пояснили, что свойство Lines контрола TextBox доступно только для чтения


На самом деле чуть по-другому...свойство Lines само по себе не является ReadOnly, но возвращает коллекцию-копию строк текстбокса.
Таким образом изменение возвращённой свойством Lines коллекции никак не затронет textbox

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)