C# 限制wpf文本框中的按键
我有WPF中的文本框,我只需要通过粘贴(ctrl+v)而不是键入来填充该框。所以我需要限制整个按键,除了ctrl+v。由于WPF没有按键事件,如果您不允许C# 限制wpf文本框中的按键,c#,wpf,keypress,keyboard-events,C#,Wpf,Keypress,Keyboard Events,我有WPF中的文本框,我只需要通过粘贴(ctrl+v)而不是键入来填充该框。所以我需要限制整个按键,除了ctrl+v。由于WPF没有按键事件,如果您不允许右键单击+粘贴,而只允许Ctrl+V,我将面临限制按键的问题,我只需检查是否按下了Ctrl键修改器,并阻止其他任何操作。如果您不允许右键单击+粘贴,我将检查是否按下了Ctrl键修改器,但是只有Ctrl+V,我只需检查是否按下了Ctrl键修改器并阻止其他操作。前提是您不允许右键单击+粘贴,而只允许Ctrl+V,我只需检查是否按下了Ctrl键修改器
右键单击+粘贴
,而只允许Ctrl+V
,我将面临限制按键的问题,我只需检查是否按下了Ctrl键修改器,并阻止其他任何操作。如果您不允许右键单击+粘贴
,我将检查是否按下了Ctrl键修改器,但是只有Ctrl+V
,我只需检查是否按下了Ctrl键修改器并阻止其他操作。前提是您不允许右键单击+粘贴
,而只允许Ctrl+V
,我只需检查是否按下了Ctrl键修改器并阻止其他操作。如果您不允许右键单击+粘贴
,但只允许Ctrl+V
,我只需检查是否按下了Ctrl键修改器并阻止其他操作。您可以将此向下键处理程序添加到文本框:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Modifiers == Keys.Control && e.Key==Key.V)
{
//Logic here
}
else
e.handled=true;
}
您可以将此按键向下处理程序添加到文本框:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Modifiers == Keys.Control && e.Key==Key.V)
{
//Logic here
}
else
e.handled=true;
}
您可以将此按键向下处理程序添加到文本框:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Modifiers == Keys.Control && e.Key==Key.V)
{
//Logic here
}
else
e.handled=true;
}
您可以将此按键向下处理程序添加到文本框:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Modifiers == Keys.Control && e.Key==Key.V)
{
//Logic here
}
else
e.handled=true;
}
所以试试这个:
myTextBox.KeyDown += new KeyEventHandler(myTextBox_KeyDown);
private void myTextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.V && e.Modifiers == Keys.Control)
{
input = myTextBox.Text;
}
else
{
input = "";
}
}
所以试试这个:
myTextBox.KeyDown += new KeyEventHandler(myTextBox_KeyDown);
private void myTextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.V && e.Modifiers == Keys.Control)
{
input = myTextBox.Text;
}
else
{
input = "";
}
}
所以试试这个:
myTextBox.KeyDown += new KeyEventHandler(myTextBox_KeyDown);
private void myTextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.V && e.Modifiers == Keys.Control)
{
input = myTextBox.Text;
}
else
{
input = "";
}
}
所以试试这个:
myTextBox.KeyDown += new KeyEventHandler(myTextBox_KeyDown);
private void myTextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.V && e.Modifiers == Keys.Control)
{
input = myTextBox.Text;
}
else
{
input = "";
}
}
使用WPF样式并使用应用程序命令。粘贴并使文本框为只读 使用WPF样式并使用应用程序命令。粘贴并使文本框为只读 使用WPF样式并使用应用程序命令。粘贴并使文本框为只读 使用WPF样式并使用应用程序命令。粘贴并使文本框为只读 实际上,我还没有尝试过这个方法,但是您可以设置一个“按键”处理程序来检查输入字符串的长度。因此如果(input.length()>1)//接受输入else//input=“”@JohnAugust如果他一次只粘贴一个字符会怎么样?谢谢兄弟,但是如果我粘贴内容,那么长度会增加,并且会限制内容…啊,是的,所有的优点都很好,特别是如果只粘贴一个字符。在这种情况下,请查看“modifiers”属性:然后将其添加到if语句检查中。换句话说,如果您看到if(e.KeyCode==Keys.V&&e.Modifiers==Keys.Control),则接受输入,否则输入=”;实际上,我还没有尝试过这个方法,但是您可以设置一个“按键”处理程序来检查输入字符串的长度。因此如果(input.length()>1)//接受输入else//input=“”@JohnAugust如果他一次只粘贴一个字符会怎么样?谢谢兄弟,但是如果我粘贴内容,那么长度会增加,并且会限制内容…啊,是的,所有的优点都很好,特别是如果只粘贴一个字符。在这种情况下,请查看“modifiers”属性:然后将其添加到if语句检查中。换句话说,如果您看到if(e.KeyCode==Keys.V&&e.Modifiers==Keys.Control),则接受输入,否则输入=”;实际上,我还没有尝试过这个方法,但是您可以设置一个“按键”处理程序来检查输入字符串的长度。因此如果(input.length()>1)//接受输入else//input=“”@JohnAugust如果他一次只粘贴一个字符会怎么样?谢谢兄弟,但是如果我粘贴内容,那么长度会增加,并且会限制内容…啊,是的,所有的优点都很好,特别是如果只粘贴一个字符。在这种情况下,请查看“modifiers”属性:然后将其添加到if语句检查中。换句话说,如果您看到if(e.KeyCode==Keys.V&&e.Modifiers==Keys.Control),则接受输入,否则输入=”;实际上,我还没有尝试过这个方法,但是您可以设置一个“按键”处理程序来检查输入字符串的长度。因此如果(input.length()>1)//接受输入else//input=“”@JohnAugust如果他一次只粘贴一个字符会怎么样?谢谢兄弟,但是如果我粘贴内容,那么长度会增加,并且会限制内容…啊,是的,所有的优点都很好,特别是如果只粘贴一个字符。在这种情况下,请查看“modifiers”属性:然后将其添加到if语句检查中。换句话说,如果您看到if(e.KeyCode==Keys.V&&e.Modifiers==Keys.Control),则接受输入,否则输入=”;Do it WPF style and use ApplicationCommand.粘贴并使文本框只读。Do it WPF style and use ApplicationCommand.粘贴并使文本框只读。Do it WPF style and use ApplicationCommand.粘贴并使文本框只读。Do it WPF style and use ApplicationCommand.粘贴并使文本框只读。@jeevan_jk尝试并返回寻求帮助。。。让别人为你编写代码是不好的。@非常感谢我所实现的一切it@jeevan_jk试着回来寻求帮助。。。让别人为你编写代码是不好的。@非常感谢我所实现的一切it@jeevan_jk试着回来寻求帮助。。。让别人为你编写代码是不好的。@非常感谢我所实现的一切it@jeevan_jk试着回来寻求帮助。。。让别人为你编写代码是不好的。@非常感谢你,我已经实现了它
<TextBox IsReadOnly="True" Name="Policy_text">
<TextBox.CommandBindings>
<CommandBinding Command="ApplicationCommands.Paste" CanExecute="PasteCommand_CanExecute" Executed="PasteCommand_Executed" />
</TextBox.CommandBindings>
</Textbox>