【发布时间】:2011-06-24 15:18:18
【问题描述】:
我有一个继承 Button 对象的类。我有一个简单的函数和 Click 的事件处理程序。当我把它放在另一个窗口窗体上时 - 完美!但是,我现在希望能够禁止用户在使用“点击”事件时选择它。希望这是有道理的。
为了澄清一下:我有一个自定义按钮,但我不希望用户能够在将 Click 事件放在表单上时对其进行编程。
我已经厌倦了,但是...我显然是 .NET 的新手
编辑:这是代码
Public NotInheritable Class clsRandomGenerator
Inherits Button
Protected Const ALPHA_UPPERCASE As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Protected Const ALPHA_LOWERCASE As String = "abcdefghijklmnopqrstuvwxyz"
Protected Const NUMERIC As String = "0123456789"
Protected Const SPECIAL_CHAR As String = "!@#$%^&*"
Protected Const ALPHA_NUMERIC As String = ALPHA_UPPERCASE & ALPHA_LOWERCASE & NUMERIC & SPECIAL_CHAR
Public Shared Function GetRandomPassword() As String
Dim RandomData As String = String.Empty
Dim intPosition As Integer = 0
Dim intLength As Integer = 8
Dim data As Byte() = New Byte(intLength) {}
Dim charSetLength As Integer = ALPHA_NUMERIC.Length
Dim randomize As RandomNumberGenerator = RandomNumberGenerator.Create()
randomize.GetBytes(data)
For index As Integer = 0 To intLength - 1
intPosition = data(index)
intPosition = intPosition Mod charSetLength
RandomData = (RandomData + ALPHA_NUMERIC.Substring(intPosition, 1))
Next
Return RandomData
End Function
Private Sub clsRandomGenerator_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
MessageBox.Show(GetRandomPassword)
End Sub
【问题讨论】:
-
您想在程序处理前一个请求时禁用该按钮吗?比如..用户点击按钮->按钮被禁用->程序执行任务->按钮被启用。
-
没有。基本上我已经为我的控件后面的 Click 事件创建了代码。当我把它放在表单上时,我可以双击我的按钮并自动创建一个新的点击子例程(好吧,骨架)。这将允许用户添加他们自己的 Click 事件代码。我想要那个残疾人。这有帮助吗?
-
好吧..我明白了。试试@Bueller 的解决方案:)