c#控件textbox禁止粘贴及快捷键

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

//In C# 禁止textbox右键粘贴的代码
public class NoCopyTextBox : System.Windows.Forms.TextBox
{
ContextMenu noContext = new ContextMenu();
public NoCopyTextBox()
{
this.ContextMenu = noContext;
}
private void InitializeComponent()
{
}
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Control | Keys.C) || keyData == (Keys.Control | Keys.V)) {
MessageBox.Show("不能粘贴,复制");
return true;
}
else
return base.ProcessCmdKey(ref msg, keyData);
//return false;
}
}
最终的解决方法是将textbox的属性值ShortcutsEnabled设为False。

这个既屏蔽了右键也屏蔽了ctrl+v txtPassword.MaxLength = 30 ;//输入框最多输入30位
C#_为WinForm窗体定义功能快捷键
这里的快捷键并非系统全局快捷键。

仅是普通的当窗体在焦点内是发生。

有很多种方法,这里列举几种项目中使用到的方法。

Alt+*(一般控件快捷键)
这个比较简单,只需为该控件的Text属性声明时加上”(&A)”,”(&D)”之类的标识,例如一个Button按钮的Text属性为:this.btnOK.Text=”确定(&A)”;
Ctrl+*(组合键)
当在某个窗体上按下一个组合键时发生。

常用的如:打印(Ctrl+P),保存(Ctrl+S)…等等。

首先需设置窗体的KeyPreview(确定窗体上控件的键盘事件是否已向窗体注册)属性设置为True 然后只需在窗体的KeyDown事件中做相应业务处理。

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if ((e.KeyCode == Keys.P) && e.Control)
{
PrintToolStripMenuItem.PerformClick();
}
}
这里,如果要激活某个Button按钮事件,有三种写法:
btnOK.PerformClick();//执行该控件的Click事件
this.InvokeOnClick(btnOK,null);//为指定的控件引发Click事件
btnOK_Click(null,null);//直接调用按钮的Click事件,参数都为null
B/S textbox只可以输入数字:
<asp:TextBox runat="server"ID="txtNum"style="ime-mode:disabled; text-align:right" MaxLength="5"
onkeypress="if ((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46) event.returnValue=false;"></asp:TextBox>
C/S textbox只可以输入数字:
private void txtDays_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar >= '0' && e.KeyChar <= '9' || e.KeyChar == '\b')// '\b'表示可以退格键有用
{
e.Handled = false;
}
else
{
e.Handled = true;
}
}
在BS上点击回车,触发后台事件:
<%--这种方法不用调用该函数--%>
<script language="javascript"type="text/javascript">
function KeyDown()
{
// 当按下“回车键”时执行Submit事件
if (window.event.keyCode == 13)
{
// 前台调用后台事件
var keyword = document.getElementById("txtPassword").value;
if (keyword.length > 0)
{
document.all("ImagebtnLogin").click();//ImagebtnLogin是后台绑定后台事件的控件 }
event.returnValue = false;
}
}
document.onkeydown = KeyDown;
</script>
<asp:ImageButton ID="ImagebtnLogin"runat="server"ImageUrl="~/images/dl.gif"
onclick="ImagebtnLogin_Click"/>
后台:
protected void ImagebtnLogin_Click(object sender, ImageClickEventArgs e)
{
if (ddlUser.SelectedItem.Text == "报修部门" && txtPassword.Text == "123456")
{
Context.Session["username"] = ddlUser.SelectedItem.Text;
Context.Session["roles"] = "1";
Response.Redirect("main.html?rid=1");
}
if(ddlUser.SelectedItem.Text == "系统管理员" && txtPassword.Text == "mobostair") {
Context.Session["username"] = ddlUser.SelectedItem.Text;
Context.Session["roles"] = "2";
Response.Redirect("main.html?rid=2");
}
if ((ddlUser.SelectedItem.Text == "报修部门" && txtPassword.Text != "123456") || (ddlUser.SelectedItem.Text == "系统管理员" && txtPassword.Text != "mobostair"))
{
Response.Write("<script>alert('密码错误!');window.location.href
='Login.aspx'</script>");
}
}。

相关文档
最新文档