我想使用具有多行(TextMode = TextBoxMode.MultiLine)
属性的文本框。但是当我像下面这样写(sample1)时将任何行写入文本框时,我想显示一个像sample2这样的列表项图标。
(sample1)
Stack
Over
StackOver
StackOverflow
(sample2)
* Stack
* Over
* StackOver
* StackOverflow
可能吗?
这可能不是最优雅的方式,但它对我有用。使用Key_Up
事件并抓住Return
关键:
private void TextBox1_KeyUp(System.Object sender, System.Windows.Forms.KeyEventArgs e) {
if (e.KeyCode == Keys.Return) {
string[] TextLines = TextBox1.Text.Split(Environment.NewLine);
TextBox1.Text = "";
foreach ( txLine in TextLines) {
if (!txLine.Contains("*") & !string.IsNullOrEmpty(txLine.Trim)) {
txLine = "* " + txLine;
}
TextBox1.Text += (txLine + Environment.NewLine);
}
TextBox1.SelectionStart = TextBox1.Text.Length;
TextBox1.ScrollToCaret();
}
}
注意你会在两行之间得到一个空行,我会让你修复它:-)