質問

このコードの何が問題になっていますか?テキストを下部ではなくテキストボックスの先頭に挿入しようとしています。

private void execute_Click(object sender, EventArgs e){
  startFinshBox.Text = "Start Time: " + printTime()+"";
  startFinshBox.Text.Insert(0,printTime()+": Retrieving Results...\n");
}

ただし、rtbに2行目は挿入されません。 startFinishBox.SelectionStart = 0でも試してみましたが、違いはありませんでした。他に何か不足していますか?

ありがとう、Psy

役に立ちましたか?

解決

startFinshBox.Text は文字列で、C#の不変の型です。 string.Insert()は変更された文字列を結果として返しますが、コードは破棄します。動作させるには、コードを次のように変更する必要があります。

private void execute_Click(object sender, EventArgs e){
  startFinshBox.Text = "Start Time: " + printTime()+"";
  startFinshBox.Text = startFinshBox.Text.Insert(0,printTime()+": Retrieving Results...\n");
}

他のヒント

TextBoxの SelectionStart プロパティは、テキストが選択または挿入される場所を決定します。

次のコードを使用して、テキストボックスコントロールの先頭にコードを挿入します。

TextBox.SelectionStart = 0;
TextBox.SelectedText = "Start time: " + printTime();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top