【问题标题】:Cannot implicitly convert type 'bool' to 'System.Windows.Forms.RightToLeft'无法将类型“bool”隐式转换为“System.Windows.Forms.RightToLeft”
【发布时间】:2012-04-15 11:13:06
【问题描述】:

我有这个错误。我知道强制转换和其他转换,但是如何转换为System.Windows.Forms.RightToLeft

代码:

this.RightToLeft = false; // Here is the problem
this.Text = "Do you speak english ?";

【问题讨论】:

    标签: c# .net winforms right-to-left


    【解决方案1】:

    我怀疑你想要要么这个:

    this.RightToLeftLayout = false;
    

    或者这个:

    this.RightToLeft = RightToLeft.No;
    

    Form.RightToLeftLayout 属性 类型为 bool,但 Control.RightToLeft 是类型 RightToLeft(枚举)。仅根据您的问题很难判断您想要哪个。

    【讨论】:

      【解决方案2】:

      您不想在此处强制转换,因为 Control.RightToLeft property 确实接受 bool 类型的值。相反,它是一个枚举;具体来说就是同名的枚举类型RightToLeft

      您需要使用 这些 值之一。要么:

      • RightToLeft.No(默认)
      • RightToLeft.Inherit
      • RightToLeft.Yes

      【讨论】:

        【解决方案3】:

        this.RightToLeft 的类型是您提到的System.Windows.Forms.RightToLeft,它有成员YesNo(和Inherit,它使用父表单的值)。您可以使用此逻辑进行分配:

        this.RightToLeft = System.Windows.Forms.RightToLeft.No;
        

        您可以使用正确的import 来避免长类型名称。

        【讨论】:

          【解决方案4】:

          你必须使用RightToLeft枚举,比如

          RightToLeft.No
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-04-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多