DotNetBar的使用(六)ListBox&Richtextbox
1、取列表框中被選中的值
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
MessageBox.Show(listBox1.SelectedItem.ToString()); //顯示所選項目
}
2、動態的添加列表框中的項
private void listBox1_DoubleClick(object sender, EventArgs e)
{
listBox1.Items.Add("11");
listBox1.Items.Add("22");
listBox1.Items.Add("33");
listBox1.Items.Add("44");
}
3、移出指定項
private void listBox1_Click(object sender, EventArgs e)
{
//移出選擇的項
if (listBox1.Items.Count > 0)
{
listBox1.Items.Remove(listBox1.SelectedItem);
}
}
1、清空所有項
private void listBox1_Click(object sender, EventArgs e)
{
if (listBox1.Items.Count > 0)
{
//清空所有項
listBox1.Items.Clear();
}
}
2、移動所選項目
private void button2_Click(object sender, EventArgs e) //向上移動
{
try
{
string item = listBox1.SelectedItem.ToString(); //獲取所選項
int i = listBox1.SelectedIndex; //獲取索引
if (i == 0) //如果所選的是第一項,返回
return;
listBox1.Items.Remove(listBox1.SelectedItem.ToString()); //移除所選項
listBox1.Items.Insert(i - 1, item); //在前一項之前插入所選項
listBox1.SelectedIndex = i - 1; //重置索引
}
catch (Exception)
{
MessageBox.Show("未選擇項");
}
}
private void button3_Click(object sender, EventArgs e) //向下移動
{
try
{
string item = listBox1.SelectedItem.ToString();
int i = listBox1.SelectedIndex;
if (i == listBox1.Items.Count - 1)
return;
listBox1.Items.Remove(listBox1.SelectedItem.ToString());
listBox1.Items.Insert(i + 1, item);
listBox1.SelectedIndex = i + 1;
}
catch (Exception)
{
MessageBox.Show("未選擇項");
}
}
3、設置richtextbox的字體樣式和顏色
richTextBox1.SelectionFont = new Font("楷體", 12, FontStyle.Bold);
//設置SelectionFont屬性實現控件中的文本爲楷體,大小爲12,字樣是粗體
richTextBox1.SelectionColor = System.Drawing.Color.Red;
//設置SelectionColor屬性實現控件中的文本顏色爲紅色
將RichTextBox控件顯示爲超鏈接樣式
將以“http://”開頭的Web鏈接地址作爲超鏈接文本時,運行時RichTextBox超鏈接文本會自動變成藍色字體且有下劃線。
例1
將 RTF 文件加載到控件中並搜索單詞“baidu”的第一個實例。然後代碼更改選定文本的字體樣式、字體大小和字體顏色並將更改保存到原始文件。
public void CreateMyRichTextBox()
{
//RichTextBox richTextBox1 = new RichTextBox();
//richTextBox1.Dock = DockStyle.Fill;
richTextBox1.LoadFile(@"C:\Users\Administrator\Desktop\2.rtf");
richTextBox1.Find("baidu", RichTextBoxFinds.MatchCase);
richTextBox1.SelectionFont = new Font("Verdana", 12, FontStyle.Bold);
richTextBox1.SelectionColor = Color.Red;
richTextBox1.SaveFile(@"C:\Users\Administrator\Desktop\2.rtf", RichTextBoxStreamType.RichText);
//this.Controls.Add(richTextBox1);
}
例2
實現所選文本粗體和非粗體的切換
private void button4_Click_1(object sender, EventArgs e)
{
oldFont = this.richTextBox1.SelectionFont; //獲得字體
if (oldFont.Bold) //若是粗體
{
newFont = new Font(oldFont, oldFont.Style & ~FontStyle.Bold);
//字體的樣式是使用二進制編碼來實現的,爲了只實現粗體的變化,
//只能通過位運算來實現,這樣做的目的是爲了不影響其他樣式的改變
}
else //若不是粗體
newFont = new Font(oldFont, oldFont.Style | FontStyle.Bold);
this.richTextBox1.SelectionFont = newFont; //新字體
this.richTextBox1.Focus(); //爲控件設置輸入焦點
}