이것은 기술 향상을 위해 해결하고 싶었던 단순한 문제입니다. 내 메서드 선택 시간을 실행하고 RunEvent에 넣은 조건도 선택 시간에서 문자열 선택 시간 값을 받기를 원합니다. 답장 해주신다면 정말 감사합니다.
public partial class Form1 : Form
{
int hourt;
int minutet;
string hourformatt;
string selectedtime;
Timer tm = new Timer();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
tm.Interval = 1000;
tm.Tick += new EventHandler(RunEvent);
tm.Start();
}
private void RunEvent(object sender, System.EventArgs e)
{
label1.Text = DateTime.Now.ToLongTimeString();
DateTime dateT = DateTime.Now; // created datetime
if (dateT.ToString("hh:mm tt") == selectedtime) // condition where dateT.ToString is equal to selectedtime
{
MessageBox.Show("Please work"); // expected output whenever dateT.ToString is equal to selected time.
}
}
private void selectingtime()
{
hourt = Convert.ToInt32(textBox1.Text); //textbox for hour
minutet = Convert.ToInt32(textBox2.Text); // textbox for minute
hourformatt = textBox3.Text; // textbox for AM or PM
selectedtime = hourt + ":" + minutet + " " + hourformatt; // example 05:31 PM
}
private void button1_Click(object sender, EventArgs e)
{
selectingtime();
}
private void RunEvent(object sender, System.EventArgs e)
{
selectingtime(); //This?
label1.Text = DateTime.Now.ToLongTimeString();
DateTime dateT = DateTime.Now; // created datetime
if (dateT.ToString("hh:mm tt") == selectedtime) // condition where dateT.ToString is equal to selectedtime
{
MessageBox.Show("Please work"); // expected output whenever dateT.ToString is equal to selected time.
}
}
하지만 texbox가 null이거나 비어 있거나 숫자가 아닌 문자가있을 때 INT32 변환에서 오류가 발생할 수 있다고 가정합니다. 이 경우 try 구문 분석을 구현할 수 있습니다. 또한 메서드에서 선택한 시간을 "가져 오는"아이디어에 갇혀 있다면 문자열을 반환해야합니다. 이것이 귀하의 요청을 충족시킬 수 있지만 반드시 "개선"이라고 생각하지는 않습니다. .
PS 이벤트 메서드와 함께 전달 된 새 이벤트 핸들러 인스턴스를 사용하여 틱 이벤트를 만들 필요가 없습니다.
private void Form1_Load(object sender, EventArgs e)
{
tm.Interval = 1000;
tm.Tick += RunEvent;
tm.Start();
}
private void RunEvent(object sender, System.EventArgs e)
{
var selectedTime = selectingtime();
label1.Text = DateTime.Now.ToLongTimeString();
DateTime dateT = DateTime.Now; // created datetime
if (dateT.ToString("hh:mm tt") == selectedTime) // condition where dateT.ToString is equal to selectedtime
{
textBox1.Clear();
textBox2.Clear();
MessageBox.Show("Please work"); // expected output whenever dateT.ToString is equal to selected time.
}
}
private string selectingtime()
{
DateTime time;
string timeFormat = string.Format("{0}:{1} {2}", textBox1.Text, textBox2.Text, textBox3.Text);
DateTime.TryParse(timeFormat, out time);
return time.ToString("hh:mm tt");
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다