根据您提供的代码,以下是修改后的C#程序,实现了日期类型XDate和相关要求:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace guochang_1031_Sy1_T2
{
public partial class Form1 : Form
{
private XDate date; // 日期对象
public Form1()
{
InitializeComponent();
date = new XDate(); // 初始化日期对象
}
private void btninput_Click(object sender, EventArgs e) // 输入时间
{
int year, month, day;
if (int.TryParse(txtYear.Text, out year) && int.TryParse(txtMonth.Text, out month) && int.TryParse(txtDay.Text, out day))
{
date.Year = year; // 设置年份属性值
date.Month = month; // 设置月份属性值
date.Day = day; // 设置日期属性值
MessageBox.Show("时间输入成功!");
}
else
{
MessageBox.Show("请输入正确的年、月、日!");
}
}
private void btnout_Click(object sender, EventArgs e) // 输出时间
{
lblOutput.Text = date.ToString(); // 调用打印方法输出日期信息
}
}
public class XDate
{
private int year; // 年份私有变量,默认2000
private int month; // 月份私有变量,默认1
private int day; // 日期私有变量,默认1
public int Year
{
get { return year; }
set
{
if (value > 9999 || value < 0)
{
year = 2000;
}
else
{
year = value;
}
}
}
public int Month
{
get { return month; }
set
{
if (value > 12 || value < 1)
{
month = 1;
}
else
{
month = value;
}
}
}
public int Day
{
get { return day; }
set
{
if (value > 31 || value < 1)
{
day = 1;
}
else
{
day = value;
}
}
}
public override string ToString()
{
return $"{year}年{month:00}月{day:00}日";
}
}
}
这个程序通过在Form1
窗体中添加文本框和标签,用于输入和输出日期信息。点击”输入时间”按钮时,会将文本框中的值设置到日期对象的对应属性中,并显示消息框表示成功与否;点击”输出时间”按钮时,会调用日期对象的打印方法并将结果显示在标签上。
请注意,在此基础上还可以根据需求进行进一步修改和扩展。
内容由零声教学AI助手提供,问题来源于学员提问