c#

位置:IT落伍者 >> c# >> 浏览文章

C#给RichTextBox添加查找画面


发布日期:2021年08月23日
 
C#给RichTextBox添加查找画面
物业管理(智能化房地产管理)//3g.hspt.net.cn/tszy/135.html" target="_blank" class="innerlink">计算机应用技术(4G移动商务方向)g.hspt.net.cn/tszy/134.html" target="_blank" class="innerlink">计算机网络技术(4G移动通信工程方向)>

/*

整理者永恆de影

整理时间//

内容C#如何给RichTextBox添加查找画面

*/

//★★★★★★★★★案例分析:★★★★★★★★★★★★★★★★★★★★★★★★★★★

//环境C#

// 我有一个RichTextBox控件里面有很多的内容我想按下按钮(ctrl+F)弹出一个查找画面

// 在查找画面中我输入一个值进行查找可以对父页面中RichTextBox中的内容进行查询

// 对查找出来的内容以特殊的颜色标示出来

//★★★★★★★★★实现方法:★★★★★★★★★★★★★★★★★★★★★★★★★★★

//第一步在richTextBox_KeyDown事件中加上一下代码

if (eControl && eKeyCode == KeysF)

{

//选中所有的RichTextBox的内容

thisrichTextBoxSelectAll();

//改变RichTextBox的选中的字体颜色

thisrichTextBoxSelectionColor = ColorBlack;

//改变RichTextBox的选中的字体的背景颜色

thisrichTextBoxSelectionBackColor = ColorMoccasin;

//选中richTextBox从开始的个字符

thisrichTextBoxSelect( );

//把滚动条回滚到焦点所在位置

thisrichTextBoxScrollToCaret();

//弹出查找画面

frmLookFor frm = new frmLookFor();

frmShow(this);

}

//第二步在查找画面中

//变量定义和对象实例化

public static string strKey = ;

private int index = ;

private int k = ;

strKey = thistextBoxText;

if (strKey == )

{

return;

}

//フォーム初期化

frmRulerChk frm = (frmRulerChk)thisOwner;//为了在子窗体中得到主窗体的东西

//指定の文字列を検索

int m = SystemTextRegularExpressionsRegexMatches(((RichTextBox)frmControls[richTextBox])Text strKey SystemTextRegularExpressionsRegexOptionsIgnoreCase)Count;

if (((RichTextBox)frmControls[richTextBox])Text != )

{

if (k <= m)

{

while ((index = ((RichTextBox)frmControls[richTextBox])Find(strKey index RichTextBoxFindsNone)) >= )

{

//选択した文字列の色

((RichTextBox)frmControls[richTextBox])SelectionColor = ColorRed;

//选択した文字列のBackColor

((RichTextBox)frmControls[richTextBox])SelectionBackColor = ColorBlue;

//フォーカス移动

((RichTextBox)frmControls[richTextBox])Focus();

//文字列选択

((RichTextBox)frmControls[richTextBox])Select(index );

//スクロールバーはフォーカスのところへ移动

((RichTextBox)frmControls[richTextBox])ScrollToCaret();

index++;

k++;

if (k == m)

{

MessageBoxShow(検索の开始位置に达しました 注意 MessageBoxButtonsOK MessageBoxIconInformation);

index = ;

k = ;

}

return;

}

}

}

//★★如果要实现查询画面只弹出一个并且最小化的把状态改为正常状态:★★★★★★★★

//步骤一中代码改为

//实例化要打开的窗体

public static frmLookFor frmlook = null;

if (eControl && eKeyCode == KeysF)

{

if (frmRulerChkfrmlook == null)

{

thisrichTextBoxSelectAll();

thisrichTextBoxSelectionColor = ColorBlack;

thisrichTextBoxSelectionBackColor = ColorMoccasin;

thisrichTextBoxSelect( );

thisrichTextBoxScrollToCaret();

frmRulerChkfrmlook = new frmLookFor();

frmRulerChkfrmlookShow(this);

}

else

{

try

{

if (frmRulerChkfrmlookWindowState == FormWindowStateMinimized)

{

frmRulerChkfrmlookWindowState = FormWindowStateNormal;

}

frmRulerChkfrmlookActivate();

}

catch

{

thisrichTextBoxSelectAll();

thisrichTextBoxSelectionColor = ColorBlack;

thisrichTextBoxSelectionBackColor = ColorMoccasin;

thisrichTextBoxSelect( );

thisrichTextBoxScrollToCaret();

frmLookFor frm = new frmLookFor();

frmShow(this);

}

}

}

//★★如果想要改运行的窗体在任务栏中不显示图标:★★★★★★★★

//更改属性ShowInTaskbar = false;

//注在查找画面关闭的时候一定要加上这句代码

frmRulerChkfrmlook = null;

               

上一篇:Visual C#中的数据绑定

下一篇:小技巧:用C#实现Des加密和解密