自己用两个COMBO写一个不就行了吗
在焦作等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、网站设计 网站设计制作定制制作,公司网站建设,企业网站建设,成都品牌网站建设,成都营销网站建设,外贸营销网站建设,焦作网站建设费用合理。
何必用控件呢
##################################
Private Sub Form_Load()
For n = 1949 To 2008
Combo1.AddItem n
Next
Combo1.ListIndex = 0
For n = 1 To 12
Combo2.AddItem n
Next
Combo2.ListIndex = 0
End Sub
‘以如下的方式获取时间
Private Sub Command1_Click()
MsgBox "当前选择的是" Combo1.Text "年" Combo2.Text "月", vbInformation, "年月"
End Sub
希望对你有帮助
用crystal报表,文件——新建文件——crystal报表,然后根据向导建立
Dim tab1 As String
Dim DS As New DataSet
Dim SqlStr As String
Dim DTS_A As New DataGridTableStyle
Dim Col_A1, Col_A2, Col_A3 As New DataGridTextBoxColumn
Dim Col_bo As New DataGridBoolColumn
'DS.Tables("tab1").Columns.Add("check", System.Type.GetType("System.Boolean"))
'DS.Tables("tab1").Columns("check").DefaultValue = False
Dim Col_A() As DataGridColumnStyle = {Col_bo, Col_A1, Col_A2, Col_A3}
'主窗口
Private Sub fICitem_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ProgressBar1.Hide()
grdStyles("tab1")
SQLConn(conn)
Dim i As Integer
'Dim arr As New ArrayList
SqlStr = "SELECT ID, diqu, dname FROM a_diqu Order by ID"
If Not SQLFill(conn, DA, DS, SqlStr, "diqu") Then
MsgBox("服务器连接失败")
Else
Dim dr As DataRow
For Each dr In DS.Tables("diqu").Rows
'arr.Add(dr("diqu") "." dr("dname"))
cmbDiqu.Items.Add(dr("diqu") "." dr("dname"))
Next
End If
'cmbDiqu.DataSource = arr
cmbDiqu.SelectedIndex = -1
cmbDiqu.Text = ""
End Sub
'DataGrid格式
Private Sub grdStyles(ByVal tab As String)
Dim ii1 As Integer
Dim DTS_A1() As String = {"check", "fshortnumber", "fnumber", "fplanprice"}
Dim DTS_A2() As String = {"检查框", "货号", "上市月份", "单价"}
Dim DTS_A3() As Integer = {50, 120, 120, 120} '长度
Dim DTS_A4() As Integer = {2, 0, 2, 1} '对齐方式
DTS_A.MappingName = tab
DTS_A.GridColumnStyles.Clear()
DTS_A.AllowSorting = True
DTS_A.ReadOnly = True
DTS_A.BackColor = Color.DarkGray
DTS_A.AlternatingBackColor = Color.LightGray
For ii1 = 0 To DTS_A1.Length - 1
Col_A(ii1).MappingName = DTS_A1(ii1)
Col_A(ii1).HeaderText = DTS_A2(ii1)
Col_A(ii1).Width = DTS_A3(ii1)
Col_A(ii1).NullText = ""
Col_A(ii1).Alignment = DTS_A4(ii1)
Next
DTS_A.GridColumnStyles.AddRange(Col_A)
grdItem.TableStyles.Add(DTS_A)
grdItem.ReadOnly = True
End Sub
Private Sub fICitem_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
SQLClose(conn)
End Sub
'显示表单
Private Sub Show1()
grdStyles("tab1")
txtNum.Text = Trim(txtNum.Text)
grdItem.DataSource = Nothing
SQLStr = "select * from t_icitem_new"
SQLStr = " where fshortnumber like '" txtNum.Text "%'"
SQLStr = " order by fshortnumber"
SQLFill(conn, DA, DS, SQLStr, tab1)
grdItem.CaptionText = "货号资料"
grdItem.DataSource = DS.Tables(tab1)
ShowRow()
End Sub
'数据同步显示
Private Sub ShowRow()
Dim dr As DataRow
If DS.Tables(tab1).Rows.Count 0 Then
If grdItem.CurrentRowIndex DS.Tables(tab1).Rows.Count Then
grdItem.CaptionText = grdItem.CurrentRowIndex + 1 "/" DS.Tables(tab1).Rows.Count
dr = DS.Tables(tab1).Rows(grdItem.CurrentRowIndex)
txtNum.Text = dr.Item("fshortnumber")
txtPrice.Text = dr.Item("fplanprice")
cmbMonth.Text = dr.Item("fnumber")
Else
txtNum.Text = ""
txtPrice.Text = ""
cmbMonth.Text = ""
End If
Else
txtNum.Text = ""
txtPrice.Text = ""
cmbMonth.Text = ""
End If
End Sub
Private Sub grdItem_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles grdItem.CurrentCellChanged
ShowRow()
End Sub
'鼠标选定行
Private Sub grdItem_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles grdItem.CurrentCellChanged
ShowRow()
End Sub
Private Sub btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles btnSelect.Click, btnUpdate.Click, btnInsert.Click, btnDelete.Click
Select Case sender.name
Case "btnSelect" '查询
Show1()
Case "btnUpdate" '修改
SUpdate()
Case "btnInsert" '新增
SInsert()
Case "btnDelete" '删除
SDelete()
End Select
End Sub
'修改
Private Sub SUpdate()
txtNum.Text = Trim(txtNum.Text)
txtPrice.Text = Trim(txtPrice.Text)
If MsgBox("确定更新?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
SQLStr = "UPDATE t_icitem_new SET "
SQLStr = "fnumber='" cmbMonth.SelectedItem "', "
SQLStr = "fplanprice='" txtPrice.Text "' "
SQLStr = "WHERE fshortnumber='" txtNum.Text "'"
If Not SQLFill2(conn, SQLStr) Then
MsgBox("抱歉,更新失败:(")
End If
Show1()
End If
End Sub
'新增
Private Sub SInsert()
txtNum.Text = Trim(txtNum.Text)
txtPrice.Text = Trim(txtPrice.Text)
If MsgBox("确定新增?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
SQLStr = "SELECT fshortnumber "
SQLStr = "FROM t_icitem_new "
SQLStr = "WHERE fshortnumber = '" txtNum.Text "' "
SQLFill(conn, DA, DS, SQLStr, "Tmp")
If DS.Tables("Tmp").Rows.Count = 0 Then '如果没有资料则新增
SQLStr = "INSERT INTO t_icitem_new (fshortnumber,fnumber,fplanprice) VALUES("
SQLStr = "'" txtNum.Text "', "
SQLStr = "'" cmbMonth.SelectedItem "', "
SQLStr = "'" txtPrice.Text "')"
If Not SQLFill2(conn, SQLStr) Then
MsgBox("抱歉,新增失败:(")
End If
Show1()
Else
MsgBox("资料已存在")
End If
End If
End Sub
'删除
Private Sub SDelete()
txtNum.Text = Trim(txtNum.Text)
txtPrice.Text = Trim(txtPrice.Text)
If MsgBox("确定删除" txtNum.Text "?", MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2) = MsgBoxResult.Yes Then
SQLStr = "DELETE FROM t_icitem_new "
SQLStr = "WHERE fshortnumber='" txtNum.Text "'"
If Not SQLFill2(conn, SQLStr) Then
MsgBox("抱歉,删除失败:(")
End If
Show1()
End If
'键盘顺序
Private Sub txt_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) _
Handles txtFshop.KeyDown, txtItem.KeyDown
Select Case e.KeyCode
Case Keys.Return
SendKeys.Send("{TAB}")
Case Keys.Right
SendKeys.Send("{TAB}")
Case Keys.Left
SendKeys.Send("+{TAB}")
Case Keys.Down
SendKeys.Send("{TAB 10}")
Case Keys.Up
SendKeys.Send("+{TAB 10}")
End Select
End Sub
VB或vb.NET或其它语言的控件都无法显示阴历,因为国外不使用阴历,你只能在网上找找第三方控件
; Visual Studio NET提供的MonthCalendar控件允许你选择日期和一组日期 这个控件允许用户方便地选择日期 它类似于让你选择一个特定日期的DataTimePicker控件 不过MonthCalendar控件还可以帮助你选择一个时间
使用MonthCalendar 控件
下面的例子说明如何使用MonthCalendar控件
在常用控件(Common Controls)下的工具箱(Toolbox)中找到MonthCalendar控件并将它添加到窗口表单(Window Form)中 设置以下属性
·Name mcDateSelection
·TodayDate 空
·MaxSelectionCount
·Selection Range Start 空
·Selection Range End 空
在Form Load事件中添加以下代码
mcDateSelection TodayDate = Now
然后建立列表A中的事件 在这个例子中 我设置MaxSelectionCount属性为 这意味着你只能在MonthCalendar控件中选择一个 而不是一组日期 在MonthView控件中选择一个日期 屏幕即类似于图A
图A
列表A Private Sub mcDateSelection_DateSelected(ByVal sender As Object ByVal e As System Windows Forms DateRangeEventArgs) Handles mcDateSelection DateSelected MessageBox Show( Calendar Today s Date: mcDateSelection TodayDate vbCrLf _ Calendar Selected Start Date: mcDateSelection SelectionStart() vbCrLf _ Calendar Selected End Date: mcDateSelection SelectionEnd()) End Sub 既然你只能选择一个月中的某个特定的日期 而不是一组日期 那么 Selected Start Date和Selected End Date的值相同
现在 将MaxSelectionCount属性设为 然后重新运行代码 这次 你就可以选择一组日期(在这个例子中最多为 天) 而且 一旦你选择一组日期后 你将看到如图B所示的结果
图B
控件的其它用法
你可以利用MonthCalendar控件的许多其它属性和方法 使其满足你的需要 MSDN提供使用MonthCalendar控件的更多细节
lishixinzhi/Article/program/net/201311/11787
TextBox12.Text = DateTimePicker1.Value.ToString("yyyy/MM/dd")
这样格式化一下就可以了