EmployeesCheckBoxListというユーザーコントロールがあります。これには、Employeesが入力された標準のCheckBoxListが含まれています。UserControl内のCheckBoxListの幅/高さを取得/設定するプロパティをEmployeesCheckBoxListに簡単に作成できます。
public Unit Height
{
get { return cblEmployees.Height; }
set { cblEmployees.Height = value; }
}
public Unit Width
{
get { return cblEmployees.Width; }
set { cblEmployees.Width = value; }
}
そして、私の.aspxページで、実行時に幅と高さを次のように設定できます。
<MyUserControls:EmployeesCheckBoxList runat="server"
Height="100px" Width="150px"/>
そして、これらのプロパティは、ユーザーコントロール内のWebコントロールのサイズを適切に変更します。
私が知りたいのは、値をプロパティとして取得してからユーザーコントロール内のコントロールを変更するのではなく、ユーザーコントロール全体のディメンションを変更することは可能ですか?
たとえば、ユーザーコントロールにボタンなどの他のWebコントロールも含まれているとします。上記のHeightプロパティとWidthプロパティを100pxと150pxに設定した場合、達成したいのは、これらの測定値で各Webコントロールを変更するのではなく、ユーザーコントロールの表示可能スペースをこれらの寸法に設定することです。つまり、従業員とボタンでいっぱいのCheckBoxListの場合、サイズを100x 150ピクセルに設定すると、ユーザーコントロールのコンテンツ全体が収まらず、ユーザーコントロールはそれらのサイズ内でスクロール可能になります。
これが通常のCheckBoxListの仕組みです。100個のアイテムが含まれているが、高さを100ピクセルに設定すると、一度に表示できるアイテムはわずかであり、リストはその100ピクセルのスペース内でスクロールできます。