Я копирую данные из excel и вставляя их в форму окна с нажатием кнопки.Copy Paste from Excel
Скопированные данные из excel разделяются и заполняются четырьмя текстовыми полями. Все texboxes заполняются так, как ожидалось, но последнее текстовое поле получает дополнительные «\ r \ n». Он не отображается в текстовом поле, но если я поставил точку останова и посмотрел на переменную, то есть дополнительный \ r \ n.
Переменная, которую я хватаю, выглядит как этот тест \ r \ n.
Я знаю, что могу заменить это на «», но есть ли способ избежать этого.
Вот код для моего обработчика событий вставки.
if (Clipboard.GetText() != null)
{
string s = Clipboard.GetText();
string[] lines = s.Split('\t');
if (lines.Length < 3)
{
DialogResult result = MsgBox.Show("Please copy valid data with tab space.", "Incorrect data format.", MsgBox.Buttons.OK, MsgBox.Icon.Exclamation, MsgBox.AnimateStyle.ZoomIn);
//MessageBox.Show("Please copy valid data with tab space.", "Incorrect data format.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
}
else
{
green_textBox_ref.Text = lines[0].Replace(" ", "");
green_textBox1.Text = lines[1].Replace(" ", "");
green_textBox2.Text = lines[2].Replace(" ", "");
green_textBox3.Text = lines[3].Replace(" ", "");
green_textBox_ref.Enabled = false;
green_textBox1.Enabled = false;
green_textBox2.Enabled = false;
green_textBox3.Enabled = false;
paste_green.Enabled = false;
}
}
else
{
DialogResult result = MsgBox.Show("There is no data to paste.", "No data", MsgBox.Buttons.OK, MsgBox.Icon.Error, MsgBox.AnimateStyle.ZoomIn);
//MessageBox.Show("There is no data to paste.", "No data", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
}
}
И вот скриншот точки останова.
Хм .. не уверен, что вы можете контролировать, как путы Excel данных в буфер обмена. Похоже, вы могли бы использовать метод 'string.Trim', хотя ... – Baldrick