То же, что и другие ответы, в стиле jQuery:
$.each(selectValues, function(key, value) {
$('#mySelect')
.append($("<option></option>")
.attr("value",key)
.text(value));
});
Вам нужно проверить
txtbox.Lines.Length
Вам нужно обработать это для 2 сценариев: 1. Пользователь вводит текст в текстовое поле 2. Пользователь вставил текст в текстовое поле
Пользователь вводит текст в текстовом поле
Вам необходимо обработать событие нажатия клавиши текстового поля, чтобы пользователь не вводил больше строк при превышении максимального количества строк.
private const int MAX_LINES = 10;
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (this.textBox1.Lines.Length >= MAX_LINES && e.KeyChar == '\r')
{
e.Handled = true;
}
}
Я протестировал приведенный выше код. Он работает должным образом.
Пользователь вставляет текст в текстовое поле
Чтобы пользователь не вставлял больше, чем максимальное количество строк, вы можете закодировать обработчик события изменения текста:
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (this.textBox1.Lines.Length > MAX_LINES)
{
this.textBox1.Undo();
this.textBox1.ClearUndo();
MessageBox.Show("Only " + MAX_LINES + " lines are allowed.");
}
}
В зависимости от того, чего вы пытаетесь достичь, есть также свойство MaxLength, чтобы установить количество символов, которое вы можете ввести в текстовое поле (поскольку строка может иметь переменную длину).
Хорошо. Как насчет определения переменной экземпляра "lastKnownGoodText" и выполнения чего-то вроде этого:
private void textBox_TextChanged (object sender, EventArgs e) {
if (textBox.Lines.Length > 10)
textBox.Text = lastKnownGoodText;
else
lastKnownGoodText = textBox.Text;
}
Ограничить MAX_LINES с усечением для копирования / вставки.
private void textBox1_KeyDown( object sender, KeyEventArgs e )
{
if ( textBox1.Lines.Length >= MAX_LINES && e.KeyValue == '\r' )
e.Handled = true;
}
private void textBox1_TextChanged( object sender, EventArgs e )
{
if ( textBox1.Lines.Length > MAX_LINES )
{
string[] temp = new string[MAX_LINES];
for ( int i = 0; i < MAX_LINES; i++ )
{
temp[i] = textBox1.Lines[i];
}
textBox1.Lines = temp;
}
}