C# listViewのColumnsの幅保存
C# で LixtView を利用して簡単な物を作成している際、
再起動時に保存してて欲しいよね!
と言うことで、その設定をしていました。
デフォルトウィンドウに関する物は、
デザインのプロパティ
例:Form1.cs[デザイン]のプロパティ
のデータ→(ApplicationSetting)→(PropertyBinding)の 「...」をクリックして、
バインドする名称を与えて、プログラム終了時(FormClosed)で
「Properties.Settings.Default.Save();」
を宣言すればOKだった。
例:
private void Form1_FormClosed(object sender, FormClosedEventArgs e) { //最後に保存 Properties.Settings.Default.Save(); }
で、ListViewはそれでは保存されない・・・どうしよう・・・
ListViewのプロパティを見ると「Columns」と言うのがある。
(今回はここで項目の指定をしています。)
ここに、(ApplicationSetting)があるので、先ほどと同じように設定します。
次に、
Form1を利用している場合は
Form1.Designer.csを開き、
先ほど設定した名称が出てくる行を探します。
(ApplicationSetting)にColumnWidth_0を設定した場合 this.columnHeader1.Width = global::(プロジェクト名).Properties.Settings.Default.ColumnWidth_0;
とあるので、
FormClosedで
global::(プロジェクト名).Properties.Settings.Default.ColumnWidth_0 = this.columnHeader1.Width;
のように「=」の左右を入れ替えて記述すれば完了。
保存してくれるようになります。
↓こんな感じで記述。
private void Form1_FormClosed(object sender, FormClosedEventArgs e) { //↓のように設定していけば設定が保存される global::EasyToDo.Properties.Settings.Default.ColumnWidth_0 = this.columnHeader1.Width; //最後に保存 Properties.Settings.Default.Save(); }
以上となります。