.NET RichTextBox에서 바로 가기 키를 무시하십시오
-
06-07-2019 - |
문제
나는 RichTextBox (.NET WinForms 3.5)를 사용하고 있으며 표준 단축키 키 중 일부를 무시하고 싶습니다 ... 예를 들어, CTRL+I가 RichText 메소드를 통해 텍스트를 이탤릭체로 만들기를 원하지 않습니다. 대신 텍스트를 처리하는 내 자신의 방법을 실행하십시오.
어떤 아이디어?
해결책
Ctrl + I는 바로 가기장 속성의 영향을받는 기본 단축키 중 하나가 아닙니다.
다음 코드는 키 다운 이벤트에서 Ctrl + I를 가로 채므로 IF 블록 내부에서 원하는 모든 것을 수행 할 수 있습니다. 표시된 것처럼 키 프레스를 억제하십시오.
private void YourRichTextBox_KeyDown(object sender, KeyEventArgs e)
{
if ((Control.ModifierKeys & Keys.Control) == Keys.Control && e.KeyCode == Keys.I)
{
// do whatever you want to do here...
e.SuppressKeyPress = true;
}
}
다른 팁
richttextbox.shortcutsenabled 속성을 true로 설정 한 다음 KeyUp 이벤트를 사용하여 바로 가기를 직접 처리하십시오. 예를 들어
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.textBox1.ShortcutsEnabled = false;
this.textBox1.KeyUp += new KeyEventHandler(textBox1_KeyUp);
}
void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if (e.Control == true && e.KeyCode == Keys.X)
MessageBox.Show("Overriding ctrl+x");
}
}
}
제휴하지 않습니다 StackOverflow