DevExpress 控件用法筆記(VB)


1、ChartControl

顯示條形圖

            ChartControl1.Titles.Clear()
            ChartControl1.Series.Clear()
            Dim db As DataTable
            SqlDataAdapter1.SelectCommand.CommandText =sqlstr
            db = New DataTable
            SqlDataAdapter1.Fill(db)
            Dim series1 As DevExpress.XtraCharts.Series = New DevExpress.XtraCharts.Series("", ViewType.Line)
            series1.DataSource = db‘綁定數據源
            series1.ArgumentDataMember = "TimeStep" 'X軸顯示字段
            series1.ValueDataMembers(0) =cbPara.Text ‘Y軸顯示字段
            series1.Name = cbPara.Text ’圖例名稱
            ChartControl1.Series.Add(series1)
            '標題
            Dim chartTitle1 As New ChartTitle()
            chartTitle1.Text = cbPara.SelectedItem & "濃度變化曲線"
            chartTitle1.Antialiasing = True
            chartTitle1.Font = New Font("Tahoma", 14, FontStyle.Regular)
            chartTitle1.TextColor = Color.Black
            chartTitle1.Indent = 10
            ChartControl1.Titles.Add(chartTitle1)
'添加x,y軸標題
Dim diam As DevExpress.XtraCharts.XYDiagram = New DevExpress.XtraCharts.XYDiagram
diam.AxisX.Title.Text = "mg/L"
diam.AxisY.Title.Text = ""
diam.AxisX.Title.Visible = True
diam.AxisY.Title.Visible = True
ChartControl1.Diagram = diam

 

 ’自定義標注 Y軸
xydiagram.AxisY.CustomLabels.AddRange({New CustomAxisLabel("一類", 1), New CustomAxisLabel("二類", 2), New CustomAxisLabel("三類", 3), New CustomAxisLabel("四類", 4), New CustomAxisLabel("五類", 6), New CustomAxisLabel("劣五類", 6)})

 

效果如下:

2、   GridControl

綁定代碼如下:

GridControl1.DataSource = db  'db是DataTable對象

自定義字段顯示如下圖:

 

去掉GroupPanel如下圖所示:

3、   WinForm的ComboBox自定義綁定數據

自已定義一個RiverData類的代碼:

 

    Public Class RiverData
        Dim m_riverName As String
        Dim m_riverId As String
        Dim m_evtsimId As String

        Public Property RiverName
            Get
                Return m_riverName
            End Get
            Set(ByVal value)
                m_riverName = value
            End Set
        End Property

        Public Property RiverId
            Get
                Return m_riverId
            End Get
            Set(ByVal value)
                m_riverId = value
            End Set
        End Property

        Public Property EvtSimId
            Get
                Return m_evtsimId
            End Get
            Set(ByVal value)
                m_evtsimId = value
            End Set
        End Property


    End Class

 

綁定數據的代碼如下:

  Dim m_river As RiverData = New RiverData
        m_river.RiverName = tName
        m_river.RiverId = tRiver
        cbSec.Items.Add(m_river)
        cbSec.DisplayMember = "RiverName"
        cbSec.ValueMember = "RiverId"

 4、LabelControl

設置AutoSizeMode的屬性為Vertical,適當的Size,就可以實現文本的換行。

5、NavBarControl

 

        For i As Integer = 0 To dt.Rows.Count - 1 Step 1
            Dim NavBarGroup1 As DevExpress.XtraNavBar.NavBarGroup = New DevExpress.XtraNavBar.NavBarGroup '創建分組欄
            NavBarGroup1.Caption = dt.Rows(i)(0).ToString()
            NavBarGroup1.Name = "NavBarGroup" + i.ToString()
            '站點信息
            Dim navBarGroupControlContainer1 As NavBarGroupControlContainer = New NavBarGroupControlContainer '創建容器面板
            For j As Integer = 1 To 9 Step 1
                Dim lable1 As DevExpress.XtraEditors.LabelControl = New DevExpress.XtraEditors.LabelControl
                lable1.Location = New System.Drawing.Point(13, 24 * j - 8)
                Select Case j
                    Case 1
                        lable1.Text = "XX: "
                        lable1.Location = New System.Drawing.Point(13, 10)
                    Case 2
                        lable1.Text = "XX:   "
                    Case 3
                        lable1.Text = "XX:     "
                    Case 4
                        lable1.Text = "XX: "
                    Case 5
                        lable1.Text = "XX: "
                    Case 6
                        lable1.Text = "XX:   "
                    Case 7
                        lable1.Text = "XX:    "
                    Case 8
                        lable1.Text = "XX:   "
                    Case 9
                        lable1.Text = "XX:   "
                End Select
                lable1.Text += dt.Rows(i)(j).ToString()
                lable1.Name = "Lb_Title" + j.ToString
                lable1.Size = New System.Drawing.Size(37, 13)
                navBarGroupControlContainer1.Controls.Add(lable1) '容器面板添加Lable
            Next
            '創建內容面板
            navBarGroupControlContainer1.Size = New System.Drawing.Size(235, 200)
            navBarGroupControlContainer1.ResumeLayout(False)
            navBarGroupControlContainer1.PerformLayout()
            NavBarGroup1.ControlContainer = navBarGroupControlContainer1
            NavBarControl1.Controls.Add(navBarGroupControlContainer1)
            NavBarControl1.Groups.Add(NavBarGroup1)
        Next

效果圖如下:

6、ImageComboBoxEdit 用法

 

 ImageComboBoxItem icbi = new ImageComboBoxItem();
 icbi.Description ="aa";
 icbi.Value =0;
 ImgComBox_Layers.Properties.Items.Add(icbi);
 ImgComBox_Layers.EditValue = 0;

 7、AllowFormGlass屬性設置窗體的時候,使用的是RibbonForm窗體,但是標題欄沒有DEV的樣式效果,如下圖:

但是demo上有dev效果,如下圖:

后來對比發現是主窗體設計代碼少了一行代碼所致:

  Me.AllowFormGlass = DevExpress.Utils.DefaultBoolean.[False]

dev幫助文檔解釋如下:

獲取或設置窗體的標題和邊框是否根據本地的Windows主題。

注意:如果加上上面代碼,添加ArcEngine控件的時候,調試程序會報錯->“未將對象引用到對象的實例”,具體問題原因還沒有找到,應該是個Bug,解決辦法:將ArcEngine控件放在Panel控件上就可以了。

 8、For循環

 

 For i As Integer = 0 To m_ZoomPopupMenu.ItemLinks.Count - 1
                     If TypeOf pItem Is DevExpress.XtraBars.BarButtonItem Then
                          End If
        Next

 9、動態生成DockPanel

執行代碼前:

執行代碼后:

生成DockPanel的代碼:

      Dim QuikeSearchDock As DockPanel = MainFrom.MainDockManager.AddPanel(DockingStyle.Bottom)
      QuikeSearchDock.Show()
      If QuikeSearchDock.RootPanel IsNot QuikeSearchDock Then
        QuikeSearchDock.DockAsTab(QuikeSearchDock.RootPanel)
      Else
        Dim container As DockPanel = Nothing
        For Each container In MainFrom.MainDockManager.RootPanels
          If container.Dock = DockingStyle.Bottom Then
            container.Index = 0 '顯示新添加的tap
            Exit For
          End If
        Next
        If container IsNot Nothing Then
          QuikeSearchDock.DockAsTab(container)
        End If
        QuikeSearchDock.Dock = DevExpress.XtraBars.Docking.DockingStyle.Fill
        QuikeSearchDock.Text = title

 10、TreeList

TreeList的節點也可以分列顯示,所以在使用的時候先要添加列,如下圖所示,右鍵控件,點擊Run Designer

然后就可以編寫代碼了

 

 Public Function LoadControl(ByVal ErrFacs As List(Of ErrorFactor))
    For i As Integer = 0 To ErrFacs.Count - 1
      Dim errfac As ErrorFactor = ErrFacs(i)
      Dim errnode As TreeListNode = TreeList1.Nodes.Add(errfac.ErrName, Nothing)
      TreeList1.AppendNode(New Object() {errfac.ErrFieldName}, errnode)
      TreeList1.AppendNode(New Object() {errfac.ErrDescription}, errnode)
    Next
  End Function

 ShowIndicator屬性,是否顯示指示器

設置前:

設置前效果:

設置后:

設置后效果:

 11、XtraForm

繼承XtraForm 需要添加如下引用:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM