【问题标题】:Error while inheriting textbox in vb.net在 vb.net 中继承文本框时出错
【发布时间】:2018-04-23 07:01:12
【问题描述】:

我正在处理一项任务,即创建一个继承文本框的用户控件,该文本框仅允许使用大写字母。我仍在使用它。下面是我到目前为止工作的代码。

Imports System.ComponentModel
Imports System.Windows.Controls

Partial Public Class textboxupper_uc

 Inherits TextBox

    Dim strUpperText As String

    Sub New()
        InitializeComponent()
    End Sub

    Public Property uppText As String
        Get
            Return strUpperText
        End Get
        Set(value As String)
            strUpperText = value.ToUpper
        End Set
    End Property
End Class

Inherits TextBox 这一行给出了错误,因为“为类 'textboxupper_uc' 指定的基类“TextBox”不能与其其他部分类型之一的基类“用户控件”不同。”

【问题讨论】:

  • 鉴于这是一项任务,我想你必须按照它所说的去做。不过,您可以简单地将标准TextBoxCharacterCasing 属性设置为Upper,然后输入的任何内容都会以大写形式显示。

标签: vb.net


【解决方案1】:

您需要了解用户控件和自定义控件之间的区别。如果您想继承TextBox 类,那么这是一个自定义控件。用户控件实际上是一个继承 UserControl 的类。

如果您在项目中添加了用户控件,那么您将拥有两个包含部分类的代码文件。设计器代码文件包含Inherits UserControl,这就是您收到该错误消息的原因。您的类不能同时继承 UserControlTextBox

您实际上并不需要用户控件,因此请从解决方案资源管理器中删除该项目。您想要一个自定义控件,您应该将一个类项添加到您的项目而不是用户控件。在单个代码文件的类定义中,您可以添加Inherits TextBox,您就可以开始了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-08
    • 2019-07-17
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多