Это казалось легким делом. Я просто хотел открыть текстовое окно и отобразить два столбца данных - описание слева и соответствующее значение, отображаемое с правой стороны. Я не работал с Формами много, поэтому я просто захватил первый элемент управления, который казался подходящим, TextBox. Я думал, что использование вкладок было бы простым способом создать второй столбец, но я обнаружил, что это не так хорошо работает.Есть ли простой способ создать два столбца во всплывающем текстовом окне?
Кажется, есть две проблемы с тем, как я пытался это сделать (см. Ниже). Во-первых, я читал на многочисленных веб-сайтах, что функция MeasureString не очень точна из-за того, насколько сложны шрифты, с вопросами кернирования и всеми. Во-вторых, я понятия не имею, что элемент управления TextBox использует в качестве своего StringFormat под ним.
В любом случае, в результате я всегда получаю элементы в правом столбце, которые отключены вкладкой. Полагаю, я мог бы свернуть свое текстовое окно и сделать все самому, но, да, нет ли здесь простого способа сделать это?
Спасибо за помощь!
TextBox textBox = new TextBox();
textBox.Font = new Font("Calibri", 11);
textBox.Dock = DockStyle.Fill;
textBox.Multiline = true;
textBox.WordWrap = false;
textBox.ScrollBars = ScrollBars.Vertical;
Form form = new Form();
form.Text = "Recipe";
form.Size = new Size(400, 600);
form.FormBorderStyle = FormBorderStyle.Sizable;
form.StartPosition = FormStartPosition.CenterScreen;
form.Controls.Add(textBox);
Graphics g = form.CreateGraphics();
float targetWidth = 230;
foreach (PropertyInfo property in properties)
{
string text = String.Format("{0}:\t", Description);
while (g.MeasureString(text,textBox.Font).Width < targetWidth)
text += "\t";
textBox.AppendText(text + value.ToString() + "\n");
}
g.Dispose();
form.ShowDialog();
Да, фиксированный шрифт также решит проблему, но фиксированные шрифты имеют тенденцию выглядеть скорее UGLY, так что это не было хорошим решением для меня. – AZDean 2008-09-16 14:11:05
Ничего себе, отмеченный ASK'er вопроса, основанный на эстетике шрифта !! – bruceatk 2008-10-01 21:27:20