在richtextbox里实现一个复制功能, 在控件的KeyDown事件中只能捕获 contrl,在按下control的时候捕获不到C,改用下面的方法
private void OnLoad()
{
rtbProgressInfo.PreviewKeyDown += OnPreviewKeyDown;
rtbProgressInfo.KeyDown += OnKeyDown;
}
private void OnPreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.Control)
{
e.IsInputKey = true;
}
}
private void OnKeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.C)
{
try
{
Clipboard.Clear();
Clipboard.SetText(rtbProgressInfo.SelectedText.Trim());
}
catch (Exception ex)
{
// log
}
}
}