1

C# でプログラムによって FlowPanel のマージンを設定しようとしていますが、変数ではないため設定できないと表示されます。

ここでは、プロパティがコントロール間のスペースを取得または設定することを示しています。

通常のプロパティ?

しかし、プロパティを設定しようとすると、変数ではなく、プロジェクトがコンパイルされないことがわかります。

私はクレイジーですか、それとも何ですか?

それで、ここで何が起こっているのですか?このプロパティは、舞台裏で奇妙な方法で宣言されていますか? Visual Studio に問題がありますか? 私は途方に暮れています。

4

1 に答える 1

2

新しい値を割り当てる必要があります。

flowLayoutPanel2.margin = new Padding(5);

更新:パディングについてはそのようなコメントはありませんが、構造でもあるポイントと、新しいパディングとして設定する必要がある理由(以下の説明ではポイント)についての説明があります。

ポイント[パディング]は構造体であり、値型であることを意味します。Pointのプロパティにアクセスすると、プロパティのコピーが返されます。したがって、Locationプロパティから返されるPointのXまたはYプロパティを変更しても、FormのLeft、Right、Top、またはBottomプロパティ値には影響しません。これらのプロパティを調整するには、各プロパティ値を個別に設定するか、新しいポイントを使用してLocationプロパティを設定します。

ソース: http:
//msdn.microsoft.com/en-us/library/ms159414.aspx

Public Structure Padding

パディング: http:
//msdn.microsoft.com/en-us/library/system.windows.forms.padding.aspx

于 2012-12-08T05:10:50.857 に答える