私は各文字の間に小さなスペースを入れて文字列を入力しようとしています。InvalidArgument = '2'の値は 'index'には無効です。個別に文字を入力しようとしているとき
私はエラーが表示されます:InvalidArgument=Value of '2' is not valid for 'index'.
行:if (currentChar == lbMessage.Items[tickCount].ToString().Length)
私はテキストボックスと似ていましたが、私はListBoxのためにそれを行うことはできません。
private void Space(object sender, EventArgs e)
{
if (tickCount < lbMessage.Items.Count)
{
SendKeys.Send(lbMessage.Items[tickCount].ToString().Substring(currentChar++, 0));
tickCount++;
if (currentChar == lbMessage.Items[tickCount].ToString().Length)
{
tmrSpace.Enabled = false;
SendKeys.Send("{enter}");
}
if (tickCount >= lbMessage.Items.Count) tickCount = 0;
}
tmrSpace.Interval = random.Next(50, 100);
}
これは、テキストボックスのフィールドのために働く:
private void Space(object sender, EventArgs e)
{
SendKeys.Send(txtText.Text.Substring(b++, 1));
tmrSpace.Interval = random.Next(50, 150);
if (b == txtText.TextLength)
{
tmrSpace.Enabled = false;
SendKeys.Send("{enter}");
}
}
まあ私の刻みのフォークだけでなく、私の古いコードからテキストボックスと、文字間の間隔を入れて入力するときに使用します。私は自分のコードです。私は行単位で読み込み、文字間にスペースを入れて行を入力しようとしています。多分私は.Lengthプロパティに問題があります。これを使って、人間のキャラクターが文字列にどのようにしているかを調べることはできますか? – NewHelpNeeder
@NewHelpNeeder:あなたが何を意味するのかはっきりしませんが、なぜ例外が発生しているのか説明しました。 'if'条件は' lbMessage.Items [tickCount] '* before *' tickCount 'がインクリメントされます。あなたはその部分を理解していますか? –
さて、私は今これを取得すると思います。私の増分変数の配置が間違っていたのは間違いありませんでした。ありがとう。 – NewHelpNeeder