Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vb.net中添加一年至今_Vb.net - Fatal编程技术网

在vb.net中添加一年至今

在vb.net中添加一年至今,vb.net,Vb.net,我在表单上有两个DateTimePicker控件 如何在第一个DateTimePicker中选择的日期上自动添加一年,并在第二个DateTimePicker上显示它?例如,如果选择日期2017年9月22日,则我希望第二个日期时间选择器显示2018年9月22日 这可能吗?如果是的话,你会建议一些合适的代码吗?如果没有,你会建议另一种方法吗 不确定你到底需要做什么以及你要找的是哪一年,但简单的答案是: SomeComboBox.text=Now.Year如果要选择日期,请从日期选择器中选择年份。 将

我在表单上有两个
DateTimePicker
控件

如何在第一个
DateTimePicker
中选择的日期上自动添加一年,并在第二个
DateTimePicker
上显示它?例如,如果选择日期
2017年9月22日
,则我希望第二个
日期时间选择器
显示
2018年9月22日

这可能吗?如果是的话,你会建议一些合适的代码吗?如果没有,你会建议另一种方法吗


不确定你到底需要做什么以及你要找的是哪一年,但简单的答案是:


SomeComboBox.text=Now.Year

如果要选择日期,请从日期选择器中选择年份。 将其附加到下面的文本框中

你可以这样做

year = dtp1.Value.Year
tb.Text = tb.text + year
这只会在您更改日期选择器时追加年份,但是如果您希望在每次单击日期选择器时都替换tb.Text year,那么您应该执行以下操作

Dim str as String  = tb.Text        'Save current text
Dim arr as String() = str.Split(",")'Get previous text
currentYear = dtp1.Value.Year       'Get current year
tb.Text = arr(0) + currentYear      'Replace year in textbox with new year

您可以这样做,使用
DateTimePicker
ValueChanged
事件:

Private Sub DateTimePicker1_ValueChanged(Sender As DateTimePicker, e As EventArgs) Handles DateTimePicker1.ValueChanged
  Me.DateTimePicker2.Value = Sender.Value.AddYears(1)
End Sub
要自动生成此事件处理程序代码,请双击窗体上的第一个
DateTimePicker
控件


在本例中,您会注意到我已将
发送者
的类型转换从
对象
更改为
日期时间选择器
,这样我们就可以在IDE中获得IntelliSense了。

?欢迎来到so,沮丧:-)…以及沉默否决票的原因,各位?这太粗鲁了。我的意思是,如果我输入某个日期,比如“09/22/2017”,那么在单击第一个日期时间选取器(抱歉,我之前称它为组合框)之后,我希望它会自动显示给下一个日期时间选取器。。“2018年9月22日”我的意思是,如果我输入某个日期,例如“2017年9月22日”,那么在单击第一个日期时间选取器(抱歉,我之前称它为组合框)后,我希望它会自动显示给下一个日期时间选取器。。“2018年9月22日”公共类Form1私有子DateTimePicker1_ValueChanged(发送者作为对象,e作为事件参数)处理DateTimePicker1.ValueChanged Label1.Text=DateTimePicker1.Value.Year+1 DateTimePicker2.Value=Now.Day&“-”&Now.Month&“-”&Label1.Text-End子类复制上述代码并在vs ide中运行。它应该像你所期望的那样工作。更改第一个dtp的值时更改下一个dtp的年份。哇!成功了!:D非常感谢!我还有一个问题,如果输入是“2017年9月22日”,输出是“2018年9月23日”,该怎么办?@fructedprogrammer-我不确定我是否明白你的意思<代码>日期。解析(“2017年9月22日”)。添加年份(1)将始终等于
2018年9月22日
。你是说
2018年9月23日
是你想要的结果吗?如果是这样,请使用
Date.Parse(“09/22/2017”).AddYears(1)。AddDays(1)
。哦!非常感谢你!你帮了大忙!:)我已经改变了它,它工作得很好!:)@挫败程序员-不客气,很高兴它成功了。