summaryrefslogtreecommitdiff
path: root/script-editor/CustomControl.cs
diff options
context:
space:
mode:
Diffstat (limited to 'script-editor/CustomControl.cs')
-rw-r--r--script-editor/CustomControl.cs35
1 files changed, 35 insertions, 0 deletions
diff --git a/script-editor/CustomControl.cs b/script-editor/CustomControl.cs
new file mode 100644
index 0000000..829565c
--- /dev/null
+++ b/script-editor/CustomControl.cs
@@ -0,0 +1,35 @@
+using System.Windows.Forms;
+
+namespace CustomControl
+{
+ public class MyPanel : Panel
+ {
+ protected override void OnPaintBackground(PaintEventArgs pevent) { }
+ }
+
+ public class MyRichTextBox : RichTextBox
+ {
+ private bool allowedKeypress;
+
+ protected override void OnKeyPress(KeyPressEventArgs e)
+ {
+ e.Handled = true;
+ if (!allowedKeypress)
+ System.Media.SystemSounds.Beep.Play();
+ }
+
+ protected override void OnKeyDown(KeyEventArgs e)
+ {
+ allowedKeypress = e.Control && (e.KeyCode == Keys.A || e.KeyCode == Keys.C || e.KeyCode == Keys.Insert || e.KeyCode == Keys.Y || e.KeyCode == Keys.Z);
+
+ if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Back || e.KeyCode == Keys.Delete || (e.Control && (e.KeyCode == Keys.V || e.KeyCode == Keys.X)) || (e.Shift && (e.KeyCode == Keys.Insert || e.KeyCode == Keys.Delete)))
+ {
+ if (e.KeyCode == Keys.Delete || (e.Shift && (e.KeyCode == Keys.Insert || e.KeyCode == Keys.Delete)))
+ System.Media.SystemSounds.Beep.Play();
+ e.Handled = true;
+ }
+ else
+ base.OnKeyDown(e);
+ }
+ }
+}