GrapeCity.Win.Components 名前空間 : ResizePolicy クラス |
次のサンプルコードは、System.Windows.Forms.ListView のサイズ変更ポリシーを実装する方法を示します。また、ControlResizing または GrapeCity.Win.Containers.GcResizePanel.ControlResizing にイベントハンドラをアタッチすることによってコントロールのサイズ変更動作を処理することもできます。
public class GcResizeResizePolicyDemo : Form { private Components.GcResize gcResize1; private ListView listView1; private IContainer components; public GcResizeResizePolicyDemo() { InitializeComponent(); // Set the view to show details. listView1.View = View.Details; // Allow the user to edit item text. listView1.LabelEdit = true; // Allow the user to rearrange columns. listView1.AllowColumnReorder = true; // Display check boxes. listView1.CheckBoxes = true; // Select the item and subitems when selection is made. listView1.FullRowSelect = true; // Display grid lines. listView1.GridLines = true; // Sort the items in the list in ascending order. listView1.Sorting = SortOrder.Ascending; // Create three items and three sets of subitems for each item. ListViewItem item1 = new ListViewItem("item1", 0); // Place a check mark next to the item. item1.Checked = true; item1.SubItems.Add("1"); item1.SubItems.Add("2"); item1.SubItems.Add("3"); ListViewItem item2 = new ListViewItem("item2", 1); item2.SubItems.Add("4"); item2.SubItems.Add("5"); item2.SubItems.Add("6"); ListViewItem item3 = new ListViewItem("item3", 0); // Place a check mark next to the item. item3.Checked = true; item3.SubItems.Add("7"); item3.SubItems.Add("8"); item3.SubItems.Add("9"); // Create columns for the items and subitems. // Width of -2 indicates auto-size. listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left); listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left); listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left); listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center); //Add the items to the ListView. listView1.Items.AddRange(new ListViewItem[] { item1, item2, item3 }); } private void InitializeComponent() { this.components = new Container(); MyListViewResizePolicy myListViewResizePolicy1 = new MyListViewResizePolicy(); this.gcResize1 = new Components.GcResize(this.components); this.listView1 = new ListView(); ((ISupportInitialize)(this.gcResize1)).BeginInit(); this.SuspendLayout(); // // gcResize1 // this.gcResize1.ResizePolicies.Add(myListViewResizePolicy1); this.gcResize1.Target = this; // // listView1 // this.listView1.CheckBoxes = true; this.listView1.Location = new Point(15, 26); this.listView1.Name = "listView1"; this.listView1.Size = new Size(229, 185); this.listView1.TabIndex = 0; this.listView1.UseCompatibleStateImageBehavior = false; // // GcResize // this.ClientSize = new Size(284, 261); this.Controls.Add(this.listView1); this.Name = "GcResizeResizePolicyDemo"; ((ISupportInitialize)(this.gcResize1)).EndInit(); this.ResumeLayout(false); } [STAThread] public static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new GcResizeResizePolicyDemo()); } } public class MyListViewResizePolicy : ResizePolicy { public override bool CanResize(Control ctl) { return ctl is ListView; } public override Type TargetType { get { return typeof(ListView); } } public override void ResizeLayout(Control ctl, ResizeLayoutInfo infos) { var listView = ctl as ListView; listView.SuspendLayout(); if (listView.Columns.Count > 0) { foreach (ColumnHeader column in listView.Columns) { column.Width = infos.ScaleX(column.Width); } } listView.ResumeLayout(true); base.ResizeLayout(ctl, infos); } }
Public Class GcResizeResizePolicyDemo Inherits Form Private gcResize1 As Components.GcResize Private listView1 As ListView Private components As IContainer Public Sub New() InitializeComponent() ' Set the view to show details. listView1.View = View.Details ' Allow the user to edit item text. listView1.LabelEdit = True ' Allow the user to rearrange columns. listView1.AllowColumnReorder = True ' Display check boxes. listView1.CheckBoxes = True ' Select the item and subitems when selection is made. listView1.FullRowSelect = True ' Display grid lines. listView1.GridLines = True ' Sort the items in the list in ascending order. listView1.Sorting = SortOrder.Ascending ' Create three items and three sets of subitems for each item. Dim item1 As New ListViewItem("item1", 0) ' Place a check mark next to the item. item1.Checked = True item1.SubItems.Add("1") item1.SubItems.Add("2") item1.SubItems.Add("3") Dim item2 As New ListViewItem("item2", 1) item2.SubItems.Add("4") item2.SubItems.Add("5") item2.SubItems.Add("6") Dim item3 As New ListViewItem("item3", 0) ' Place a check mark next to the item. item3.Checked = True item3.SubItems.Add("7") item3.SubItems.Add("8") item3.SubItems.Add("9") ' Create columns for the items and subitems. // Width of -2 indicates auto-size. listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left) listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left) listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left) listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center) 'Add the items to the ListView. listView1.Items.AddRange(New ListViewItem() {item1, item2, item3}) End Sub Private Sub InitializeComponent() Me.components = New Container() Dim myListViewResizePolicy1 As New MyListViewResizePolicy() Me.gcResize1 = New Components.GcResize(Me.components) Me.listView1 = New ListView() DirectCast(Me.gcResize1, ISupportInitialize).BeginInit() Me.SuspendLayout() ' ' gcResize1 ' Me.gcResize1.ResizePolicies.Add(myListViewResizePolicy1) Me.gcResize1.Target = Me ' ' listView1 ' Me.listView1.CheckBoxes = True Me.listView1.Location = New Point(15, 26) Me.listView1.Name = "listView1" Me.listView1.Size = New Size(229, 185) Me.listView1.TabIndex = 0 Me.listView1.UseCompatibleStateImageBehavior = False ' ' GcResize ' Me.ClientSize = New Size(284, 261) Me.Controls.Add(Me.listView1) Me.Name = "GcResizeResizePolicyDemo" DirectCast(Me.gcResize1, ISupportInitialize).EndInit() Me.ResumeLayout(False) End Sub End Class Public Class MyListViewResizePolicy Inherits ResizePolicy Public Overrides Function CanResize(ctl As Control) As Boolean Return TypeOf ctl Is ListView End Function Public Overrides ReadOnly Property TargetType() As Type Get Return GetType(ListView) End Get End Property Public Overrides Sub ResizeLayout(ctl As Control, infos As ResizeLayoutInfo) Dim listView = TryCast(ctl, ListView) listView.SuspendLayout() If listView.Columns.Count > 0 Then For Each column As ColumnHeader In listView.Columns column.Width = infos.ScaleX(column.Width) Next End If listView.ResumeLayout(True) MyBase.ResizeLayout(ctl, infos) End Sub End Class
System.Object
GrapeCity.Win.Components.ResizePolicy
GrapeCity.Win.Components.ComboBoxResizePolicy
GrapeCity.Win.Components.DataGridViewResizePolicy
GrapeCity.Win.Components.GcAccordionContainerResizePolicy
GrapeCity.Win.Components.GcBarCodeResizePolicy
GrapeCity.Win.Components.GcCalculatorResizePolicy
GrapeCity.Win.Components.GcCheckBoxResizePolicy
GrapeCity.Win.Components.GcCheckedGroupBoxResizePolicy
GrapeCity.Win.Components.GcDropDownButtonBaseResizePolicy
GrapeCity.Win.Components.GcHeadingContainerResizePolicy
GrapeCity.Win.Components.GcRadioButtonResizePolicy
GrapeCity.Win.Components.GcRadioGroupBoxResizePolicy
GrapeCity.Win.Components.GcShapeButtonResizePolicy
GrapeCity.Win.Components.GcTabBaseResizePolicy
GrapeCity.Win.Components.ListBoxResizePolicy
GrapeCity.Win.Components.ListViewResizePolicy
GrapeCity.Win.Components.MonthCalendarResizePolicy
GrapeCity.Win.Components.NoResizeFontResizePolicy
GrapeCity.Win.Components.PictureBoxResizePolicy
GrapeCity.Win.Components.PlusPakPickerBaseResizePolicy
GrapeCity.Win.Components.ResizeSupportControlResizePolicy
GrapeCity.Win.Components.ScrollableControlResizePolicy
GrapeCity.Win.Components.TabControlResizePolicy
GrapeCity.Win.Components.ToolStripResizePolicy
GrapeCity.Win.Components.TreeViewResizePolicy
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2