FlowLayoutPanel控制項,flowlayoutpanel

來源:互聯網
上載者:User

FlowLayoutPanel控制項,flowlayoutpanel

最近用到了FlowLayoutPanel控制項。感覺功能很強大~

整理記錄如下:

msdn的描述是這樣的:FlowLayoutPanel控制項沿著水平或垂直流方向排列其內容。其內容可以從一行換到下一行。或者,還可以對它的內容進行剪裁,而不是進行換行。

可以通過設定FlowDirection 屬性的值來指定流向。在從右向左(RTL)的布局中,FlowLayoutPanel 控制項會相應地反轉其流向。還可以通過設定WrapContents 屬性來指定是對FlowLayoutPanel 控制項的內容進行換行還是裁剪。

任何Windows表單控制項(包括FlowLayoutPanel 的其他執行個體)都可以是FlowLayoutPanel 控制項的子級。使用此功能,可以構造在運行時能夠根據表單的尺寸進行相應調整的複雜布局。

子控制項的停靠和錨定行為不同於其他容器控制項中的行為。停靠和錨定都是相對於流方向上的最大控制項而言的。


FlowLayoutPanel 是流式布局面板。可以實現動態添加控制項,實現響應式的布局排版。


①向FlowLayoutPanel 中添加控制項

Dim picBox As PictureBox = New PictureBoxpicBox.Image = Image.FromFile("C:\abc.bmp")picBox.Name = N1picBox.SizeMode = PictureBoxSizeMode.AutoSizeFlowLayoutPanel1.Controls.Add(picBox)FlowLayoutPanel1.SetFlowBreak(picBox, True)Dim labelN As Label = New LabellabelN.Text = ""labelN.Height = 30labelN.Width = 120labelN.TextAlign = ContentAlignment.MiddleLeftlabelN.Name = "labelN"labelN.ForeColor = Color.BlackFlowLayoutPanel1.Controls.Add(labelN)

FlowLayoutPanel1.SetFlowBreak(picBox, True)

是中斷流進行換行。

添加label ,且label的text為空白,設定label的寬高,是為了對控制項進行排版。對齊顯示。


②為子控制項綁定事件

Dim buttonN As Button = New ButtonbuttonN.Name = "Q_ButtonN"buttonN.BackColor = Color.RedbuttonN.Text = "XXXXXXXX"buttonN.Width = 55AddHandler buttonN.Click, AddressOf pic_DClickFlowLayoutPanel1.Controls.Add(buttonN)FlowLayoutPanel1.SetFlowBreak(buttonN, True)

點擊FlowLayoutPanel中添加的buttonN控制項的事件

Private Sub pic_DClick(sender As Object, e As EventArgs)    For i = 1 To Me.FlowLayoutPanel1.Controls.Count - 1        If Me.FlowLayoutPanel1.Controls(i).Name = "Q_ButtonN2" Then            Me.FlowLayoutPanel1.Controls(i).BackColor = Color.Gainsboro        End If    NextEnd Sub

通過遍曆Me.FlowLayoutPanel1.Controls(i),可以在添加的眾多控制項中找到你想要的。


FlowLayoutPanel控制項不直接支援MouseWheel事件,即滾動滾輪也不會有響應。

我通過在FlowLayoutPanel 的子控制項中添加焦點,來實現滾輪滾動

buttonN.Focus()






著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.