我想在我的C#程序中输入一个自动保存功能,该功能将在倒计时结束时运行一行代码,然后重新开始倒计时。它将运行我的SaveFile();
函数。
我希望在用户首次保存/打开文档时启动此计时器,并在打开新文档时将其禁用。
答案 0 :(得分:9)
您可以使用System.Timers Elapsed event上的Timer。
Timer timer = new Timer(30 * 60 * 1000);
timer.Elapsed += OnTick; // Which can also be written as += new ElapsedEventHandler(OnTick);
private void OnTick(object source, ElapsedEventArgs e)
{
//Save logic
}
不要忘记在需要时拨打timer.Start()
。
答案 1 :(得分:2)
您也可以使用DispatchTimer。这是一个每5分钟播放五个不同视频之一的片段。
DispatcherTimer mediaTimer = new DispatcherTimer();
mediaTimer.Interval = TimeSpan.FromMinutes(5);
mediaTimer.Tick += new EventHandler(mediaTimer_Tick);
mediaTimer.Start();
void mediaTimer_Tick(object sender, EventArgs e)
{
nextMovie();
}
public void nextMovie()
{
if (mediaIndex >= 5)
mediaIndex = 0;
switch (mediaIndex)
{
case 0:
mediaElement1.Source = new Uri(videoFileName1, UriKind.Absolute);
break;
case 1:
mediaElement1.Source = new Uri(videoFileName2, UriKind.Absolute);
break;
case 2:
mediaElement1.Source = new Uri(videoFileName3, UriKind.Absolute);
break;
case 3:
mediaElement1.Source = new Uri(videoFileName4, UriKind.Absolute);
break;
case 4:
mediaElement1.Source = new Uri(videoFileName5, UriKind.Absolute);
break;
default:
mediaElement1.Source = new Uri(videoFileName1, UriKind.Absolute);
break;
}
mediaElement1.Visibility = System.Windows.Visibility.Visible;
mediaIndex++;
mediaElement1.Play();
}
答案 2 :(得分:1)
您可以使用System.Timers.Timer
。它还具有Stop
和Start
方法,因此您可以执行任何操作。
System.Timers.Timer myTimer = new Timer(30 * 60 * 1000);
myTimer.Start();
myTimer.Elapsed += new ElapsedEventHandler(myTimer_Elapsed);
void myTimer_Elapsed(object sender, ElapsedEventArgs e)
{
//your code
}
答案 3 :(得分:-6)
打开新窗口
FrmCupsToOunces MyNewForm = new FrmCupsToOunces();
MyNewForm.Show();
制作数组
const int QUARTERS = 4;
const int DIVISIONS = 3;
double[,] stats = new double[DIVISIONS, QUARTERS];
进行密码检查
int InNumTry = 0;
private void BtnGo_Click_1(object sender, EventArgs e)
{
string password;
password = TxtIn.Text;
switch (password)
{
case " ": MessageBox.Show("Passowrd is empty.");
break;
case "MIKE": MessageBox.Show("Password is OK!");
FrmBOO newForm = new FrmBOO();
newForm.Show();
break;
default:
InNumTry++;
MessageBox.Show("Invalid Passwrod, try again!");
TxtIn.Text = "";
TxtIn.Focus();
break;
}
检查长度
LblLength.Text = TxtInput.Text.Length.ToString();
制作上限
LblUpper.Text = TxtInput.Text.ToUpper();
降低
LblLower.Text = TxtInput.Text.ToLower();
最后右三
LblRight.Text = TxtInput.Text.Substring(TxtInput.Text.Length - 3);
显示中间人物
LblSubscript.Text = TxtInput.Text.Substring(1, 3);
<强> ASCII 强>
private void btnascii_Click(object sender, EventArgs e)
{
string assqui;
int num;
num = Convert.ToInt32(txtinput.Text);
assqui = char.ConvertFromUtf32(num);
lblascii.Text = assqui.ToString();
}
将字符转换为ASCII
string assqui;
int num;
num = Convert.ToInt32(textBox1.Text);
assqui= char.ConvertFromUtf32(num);
lblout.Text = assqui.ToString();
显示差异
string name;
name = txtinput.Text;
foreach (char letter in name)
{
MessageBox.Show(letter.ToString());
}
获取文件
private void BtnGetFile_Click(object sender, EventArgs e)
{
string Line;
int count = 0;
try
{
StreamReader ReadFile;
StringFileName = Interaction.InputBox(" Please Enter Your Desired File Name \n You do not need to place the '.txt' at the end of the file name.") + ".txt";
ReadFile = File.OpenText(StringFileName);
LbSongs.Items.Clear();
while (!ReadFile.EndOfStream)
{
Line = ReadFile.ReadLine();
string[] words = Line.Split(',');
ListSongs[count].NameOfSong = words[0];
ListSongs[count].NameOfArtist = words[1];
ListSongs[count].NameOfFile = words[2];
ListSongs[count].ThisWeekRank = words[3];
ListSongs[count].MostWeekRank = words[4];
ListSongs[count].LastWeekRank = words[5];
LbSongs.Items.Add(ListSongs[count].NameOfSong);
count++;
}
LbSongs.SelectedIndex = 0;
Show();
ReadFile.Close();
}
catch
{
MessageBox.Show("The file you are trying to access either, can not be found or opened");
}
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private void infoToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("The Program was created by Konrad Lazarek.\n\nOn April 16st, 2014.\n\nVersion: 00:03:48:59",
"Info On This Program",
MessageBoxButtons.OK,
MessageBoxIcon.Information,
MessageBoxDefaultButton.Button1);
}
private void BTF(int index)
{
switch (ListSongs[index].NameOfSong)
{
case "Happy":
HidePictures();
PicHappy.Visible = true;
break;
case "All Of Me":
HidePictures();
PicAllOfMe.Visible = true;
break;
case "Dark Horse":
HidePictures();
PicDarkHorse.Visible = true;
break;
case "Talk Dirty":
HidePictures();
PicTalkDirty.Visible = true;
break;
case "Let It Go":
HidePictures();
PicLetItGo.Visible = true;
break;
case "Pompeii":
HidePictures();
PicPompeii.Visible = true;
break;
case "Team":
HidePictures();
PicTeam.Visible = true;
break;
case "Counting Stars":
HidePictures();
PicCountingStars.Visible = true;
break;
case "The Man":
HidePictures();
PicTheMan.Visible = true;
break;
case "Turn Down For What":
HidePictures();
PicTurnDownForWhat.Visible = true;
break;
}
}
private void LbSongs_SelectedIndexChanged(object sender, EventArgs e)
{
IntSelInd = LbSongs.SelectedIndex;
LblThisWeek.Text = ListSongs[IntSelInd].LastWeekRank;
LblMostWeek.Text = ListSongs[IntSelInd].MostWeekRank;
LblLastWeek.Text = ListSongs[IntSelInd].LastWeekRank;
LblArtist.Text = ListSongs[IntSelInd].NameOfArtist;
BTF(IntSelInd);
axWindowsMediaPlayer1.URL = @ListSongs[IntSelInd].NameOfFile;
}
计时器(在[Frm Load]中添加[timer1.Start();]
DateTime datetime = DateTime.Now;
this.LblTime.Text = datetime.ToString();