[Devexpress]MemoEdit 選取某一行文字資料

MemoEdit 有一個特性,每筆資料會以一行來表示,

當顯示簡單資料的時候很好用,

但是當有需要搜尋的時候, 就必須要自己實作了..

搜尋MemoEdit 的程式不會太難

但是有一個屬性需要特別設定

MemoEdit才會把某一行選取起來 HideSelection 要設定為fasle

比較重要的是在要告訴MemoEdit 從哪裡開始選取,長度是多少

並且把ScrollBar移到該筆資料的位置

大致上是這樣

private void btnSearch_Click(object sender, EventArgs e)
{
	var searchText = txtSearch.Text;
	var isContain = memoEdit1.Text.Contains(searchText);

	if (!isContain)
	{
		XtraMessageBox.Show($"沒有找到{searchText}。");
		return;
	}

	memoEdit1.MaskBox.MaskBoxSelectionStart = memoEdit1.Text.IndexOf(searchText);
	memoEdit1.MaskBox.MaskBoxSelectionLength = searchText.Length;
	memoEdit1.ScrollToCaret();
}

選取字的跑起來大概是這樣...供參考

如果有需要程式碼的在GitHub

不過需要有裝Devexpress 17.1 才有辦法執行..

-----------------------------------------

有時在會走之前你就得跑

你不解決問題 就等問題解決你