C#のタイマーについて
タイマーのプログラムを作っています。
namespace WindowsApplication3
{
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
protected System.Windows.Forms.Label label5;
protected System.Windows.Forms.Label label6;
protected System.Windows.Forms.Button button1;
protected System.Windows.Forms.Button button2;
protected DateTime dt;
protected DateTime recTime;
private System.Windows.Forms.GroupBox groupBox1;
protected System.Windows.Forms.RadioButton radioButton1;
protected System.Windows.Forms.RadioButton radioButton2;
private System.Windows.Forms.Timer timer1;
private System.ComponentModel.IContainer components;
public Form1()
{
//
// Windows フォーム デザイナ サポートに必要です。
//
InitializeComponent();
DateTime dt;
dt=DateTime.Now;
string a="00";
string b=a;
string c=a;
label4.Text = string.Format("{0}時{1}分{2}秒", dt.Hour, dt.Minute,dt.Second);
label5.Text = string.Format("{0}時{1}分{2}秒",a,b,c);
label6.Text = string.Format("{0}時間{1}分{2}秒",a,b,c);
//
// TODO: InitializeComponent 呼び出しの後に、コンストラクタ コードを追加してください。
// dt=DateTime.Now;
}
/// <summary>
/// 使用されているリソースに後処理を実行します。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows フォーム デザイナで生成されたコード
/// <summary>
/// デザイナ サポートに必要なメソッドです。このメソッドの内容を
/// コード エディタで変更しないでください。
<< 文字数オーバーのため 省略>>
/// <summary>
/// アプリケーションのメイン エントリ ポイントです。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button2_Click(object sender, System.EventArgs e)
{
Application.Exit();
}
protected void timer1_Tick(object sender, System.EventArgs e)
{
DateTime dt;
dt=DateTime.Now;
label4.Text = string.Format("{0}時{1}分{2}秒", dt.Hour, dt.Minute,dt.Second);
}
protected void button1_Click(object sender, System.EventArgs e)
{
DateTime recTime;
recTime=DateTime.Now;
TimeSpan k;
k=dt-recTime;
label5.Text=string.Format("{0}時{1}分{2}秒",recTime.Hour,recTime.Minute,recTime.Second);
label6.Text=string.Format("{0}秒",k.Seconds);
}
}
}
このプログラムでは ボタン1をクリックするとlabel6に経過時間 label5に記録時間を出力させたいのですが、TimeSpanクラスが上手く使えず、経過時間がマイナスになってしまいます。アドバイスお願いします。