設定した時間間隔でマウスをクリックする自動クリッカー アプリケーションを構築しています。
間隔構成エリアに注意してください。入力された時間を自動的に単純化するロジックを書き込もうとしました。分ボックスは 60 まで、秒ボックスは 60 まで、ミリ秒ボックスは 1000 までです。そのロジックを処理するようにクラスを設定しましたが、それはおそらく正しい方法ではありません (私はプログラミングではまだ新しい)。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace AutoClicker {
public static class TotalTime {
public static int Interval(NumericUpDown m_, NumericUpDown s_, NumericUpDown ms_) {
int m = (int)m_.Value;
int s = (int)s_.Value;
int ms = (int)ms_.Value;
int total = 0;
total = total + (m * 60000);
total = total + (s * 1000);
total = total + ms;
return total;
}
public static void ChangeLogic(NumericUpDown m_, NumericUpDown s_, NumericUpDown ms_) {
int interval = Interval(m_, s_, ms_);
if (ms_.Value == 1000)
{
ms_.Value = 500;
s_.UpButton();
ms_.Value = 0;
}
if (s_.Value == 60 && m_.Value < 60)
{
if (ms_.Value == 0)
{
ms_.Value = 1;
s_.Value = 0;
m_.UpButton();
ms_.Value = 0;
}
else
{
s_.Value = 0;
m_.UpButton();
if (ms_.Value == 1)
ms_.DownButton();
}
}
if (ms_.Value == -1)
{
ms_.Value = 999;
s_.DownButton();
}
if (s_.Value == -1 & m_.Value > 0)
{
s_.Value = 59;
m_.DownButton();
if (ms_.Value == 1)
ms_.DownButton();
}
}
}
}
いずれかのボックスの値が更新されるたびに、ChangeLogic メソッドが呼び出されます。
選択ロジックには多くのバグがあります。たとえば、上ボタンを数秒間押し続けると、プログラムがクラッシュします。秒 = 59、分 = 0 の場合、秒アップ ボタンを押すと、「250 ミリ秒未満の時間は指定できません」という警告が表示され、分が 2 に調整されます。
私は本当に混乱しています。誰でも私を助けることができますか?ありがとう!