Ich habe eine sehr einfache Form, die eine Datagridview mit 4 Spalten erzeugt. Kein Problem, das Formular zu generieren. Nur die letzte Spalte kann bearbeitet werden. Nach dem Bearbeiten möchte ich die OK-Schaltfläche drücken und Elemente der Liste in der letzten Spalte zu einer Zeichenfolge hinzufügen. Wie stelle ich diese Liste (aktuell) innerhalb des OK-Button-Objekt-Absenders zur Verfügung? Entschuldigung für meine schlechte Grammatik. Ich bin ein offensichtlicher Neuling. Vielen Dank.Zugriff auf eine lokale Variable von einer Methode eine andere Methode auf einem Formular
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());
}
}
}
Funktioniert, aber ich wollte Einträge, die leer sind, behalten. Ich habe versucht, die Bedingung mit diesem Code zu entfernen. updated_values = string.Join ("|", dataGridView1.Rows.Cast(). Wobei ((row) => (! row.IsNewRow)) .Wählen Sie ((row) => (row.Cells [3] .Value.ToString()))); Wenn Zellen jedoch leer sind, erhalte ich eine Ausnahme. Was mache ich falsch? Vielen Dank. –
@WayneLWaag, habe ich die Antwort aktualisiert, um Null-Filterung zu entfernen. – TnTinMn
Funktioniert, außer wenn die erste oder letzte Zeile leer ist. Übrigens ist es begrenzt. Es gibt immer 67 Zeilen. –