コード上からコントロールの位置を動的に変更する方法は?

文書番号 : 24171     文書種別 : 使用方法     最終更新日 : 2007/06/28
文書を印刷する
対象製品
ActiveReports for .NET 3.0J Standard Edition
詳細
コントロールの位置は、Locationプロパティで設定が可能です。
ただし、Locationプロパティは値型ですので、たとえばLocation.Xの内容を直接変更しようとした場合、「Expression は値であるため、代入式のターゲットにすることはできません。」というエラーが発生します。

Locationプロパティを動的に変更する場合は、Locationプロパティのデータ型であるSystem.Drawing.PointFクラスのインスタンスを新たに生成し、それをLocationプロパティにセットしてください。

◆サンプルコード(VB.NET)
Private Sub Detail_Format(...)
 ' (2, 1.5)センチの位置に移動します。
 TextBox1.Location = _
  New System.Drawing.PointF(Me.CmToInch(2), Me.CmToInch(1.5))
End Sub

◆サンプルコード(C#)
private void Detail_Format(...)
{
 // (2, 1.5)センチの位置に移動します。
 TextBox1.Location
  = new System.Drawing.PointF(ActiveReport.CmToInch(2f),
   ActiveReport.CmToInch(1.5f));
}

※なお、コントロールを操作できるのは、そのコントロールが配置されているセクションのイベント(Format、BeforePrint、AfterPrint)内のみです。
関連情報
キーワード
デザイン・レイアウト

この文書は、以前は次のFAQ IDで公開されていました : 10375