1

C# と .Net 2.0 で構築された Winform アプリケーションがあります。MultiLine プロパティで設定されたテキスト ボックスがあります。

問題は、誰かが複数の行でテキストを書き (Enter を数回押す)、保存ボタンを押し、フォームを閉じて再度ロードすると、すべての新しい行が消える (テキストは少なくとも存在する) ことです。

たとえば、テキストボックスにこれが含まれている場合:

Line1

Line3

保存してロードすると、次のようになります。

Line1 Line3

理由はありますか?

アップデート

データベースはPostGresで、PGAdminを使用すると、すべての行と「入力」が表示されます。したがって、永続性によりすべての行が保存されているようです...問題は、文字列をテキストボックスに戻すときにあるようです。

4

2 に答える 2

3

正しく思い出せば、テキストボックスは実際には文字列配列です。

私はあなたがこれを行うことができると思います:

textBox1.Lines = foo.Split(new String[] {"\n"},StringSplitOptions.RemoveEmptyEntries);

再度編集:空白行を保持する場合は、StringSplitOptions.Noneに変更します。

于 2008-10-09T19:33:23.777 に答える
0

Windows フォームでは、すべてのキャリッジ リターンが複数行のテキスト ボックスに保持されるため、データベースからデータを取得する方法に問題がある可能性があります。PostGres を使用したことはありませんが、データベースからテキストを取得する方法は、すべての空白を単一のスペースに置き換えることだと思います。

于 2008-10-09T20:22:36.530 に答える