私は、4列のDatagridviewを生成する非常に単純なフォームを持っています。フォームの生成に問題はありません。最後の列のみを編集できます。編集後、OKボタンを押して、最後の列のリストの要素を文字列に結合します。 OKボタンのオブジェクト送信者の中で、そのリスト(現在)を利用できるようにするにはどうすればいいですか?私の貧弱な文法には申し訳ありません。私は明らかな初心者です。ありがとう。あるメソッドからローカル変数にアクセスして、フォーム上の別のメソッドを呼び出す
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace Avisynth_Script
{
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
}
public string current_values = null;
private void Load_Tweaker(object sender, EventArgs e)
{
string[] deshake_parts = EntryPoint.deshakeSettings.Split(',');
List<String> settings = new List<string>(deshake_parts);
string[] default_values = EntryPoint.deshakeDefaultValues.Split(',');
List<String> defaults = new List<string>(default_values);
string[] current_settings = current_values.Split('|');
//current_settings[0] = current_settings[0].Substring(1);
//current_settings[66] = current_settings[66].Substring(0, 6);
List<String> current = new List<string>(current_settings);
dataGridView1.Rows.Clear();
for (int i=0; i < settings.Count; i++)
{
dataGridView1.Rows.Add(i+1 ,settings[i], defaults[i], current[i]);
}
}
private void OK_button_Click(object sender, EventArgs e)
{
EntryPoint.deshaker_param = string.Join('|', current.ToArray());
}
}
}
動作しますが、空白のエントリを残したいと思います。このコードで状態を削除しようとしました。行(行)=>(!row.IsNewRow)).Select((row)=>(row.Cells [3])は、 .Value.ToString()))));しかし、セルが空白の場合は例外が発生します。私は間違って何をしていますか?ありがとう。 –
@WayneLWaag、nullフィルタリングを削除する答えを更新しました。 – TnTinMn
最初または最後の行が空白の場合を除いて動作します。ところで、それは有界です。常に67行あります。 –