不能将类型“bool”隐式转换为“System.Windows.Forms.RightToLeft”

本文关键字:System RightToLeft Windows 转换 Forms 类型 bool 不能 | 更新日期: 2023-09-27 18:31:05

我有这个错误。我知道铸造转换和其他转换,但是我怎样才能转换为System.Windows.Forms.RightToLeft

法典:

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

不能将类型“bool”隐式转换为“System.Windows.Forms.RightToLeft”

我怀疑你想要这个:

this.RightToLeftLayout = false;

或者这个:

this.RightToLeft = RightToLeft.No;

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

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

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

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

如您所提到的,this.RightToLeft的类型是System.Windows.Forms.RightToLeft的,它具有成员YesNo(以及使用父窗体值的Inherit)。 您可以将此逻辑用于分配:

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

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

你必须

使用从右到左枚举,比如

RightToLeft.No