我正在尝试制作序列密钥注册程序。如何使它如果他们从我的资源中的文本文档中键入串行密钥,将会发生什么操作?我想要的是,如果有人在某个序列密钥中键入它在文本文档中,并按下注册,则会触发操作。
答案 0 :(得分:2)
在WinForms中,创建事件处理程序非常容易。在表单设计器中选择序列密钥文本框。在属性窗口中,单击带闪电符号的按钮切换到事件。在这里,您可以选择多个活动。 TextChanged
事件很好。每次输入或删除字符时都会触发。根据您要执行的不同Key...
事件,Leave
事件或Validated
或Validating
事件可能会有用。如果您使用的是按钮,只需双击该按钮即可获得Click
事件的处理程序。
双击事件名称旁边的空白字段。 Visual Studio会自动为您创建一个事件处理程序。
答案 1 :(得分:0)
在.NET中创建一个检查嵌入式资源中是否存在某个TextBox条目的程序非常简单。但...
请注意,.NET并不是一个很好的平台。与确保没有人可以使用免费软件(例如ILSpy
)读取您的文档/资源(包含所有有效密钥)相比,实现它将非常容易。同时检查this question。
一个简单的实现可能是这样的:
TextBox ValidationKey = new TextBox();
绑定EventHandler:
ValidationKey.KeyPress += new KeyPressEventHandler(ValidationKey_KeyPress);
EventHandler的实现:
private void ValidationKey_KeyPress(object sender, KeyPressEventArgs e)
{
bool isKeyValid = MyResourceFile.Keys.Contains(ValidationKey.Text);
MessageBox.Show(string.Format("Is it a valid key: {0}", isKeyValid.ToString()));
}
这是一个非常天真的实现,因为当用户只输入一个字符时,它很可能通过测试。您可能希望使用RegExp或首先检查ValidationKey.Text.Length
是否等于有效密钥的长度。