Итак, я немного застрял над головой, когда я пытался запрограммировать что-то новое.C# - Невозможно преобразовать из пустоты в список
Я пытаюсь добавить objectBeer_pluche или objectBeer_Elektro моему OBJberenlijst на Берен Основной формой от деталей формы, так что я могу добавить оба экземпляра 2 классов в том же списке.
Я даже не уверен, что это возможно кстати. Итак, я хотел бы получить обратную связь, если то, что я пытаюсь сделать, можно начинать с. Я уже понял, что VOID не прав, но я действительно не знаю.
Это мой главный beren.cs формы с OBJberenlist, вот где я пытаюсь добавить objectBeer_pluche или objectBeer_Elektro в него:
public partial class Beren : Form
{
public interface Berenlijst { }
public List<Berenlijst> OBJberenLijst = new List<Berenlijst>();
public Beren()
{
InitializeComponent();
}
private void Beren_Load(object sender, EventArgs e)
{
}
private void BTNToevoegen_Click(object sender, EventArgs e)
{
this.Hide();
Details Details = new Details();
if (Details.ShowDialog(this) == DialogResult.OK)
{
OBJberenLijst.Add(Details.getdetails());
}
Details.Close();
Details.Dispose();
}
public void LijstLaden()
{
foreach(Beer berenobject in OBJberenLijst)
{
LST_beren.Items.Add(berenobject.Naam);
}
}
}
}
от этого форма под названием details.cs
public partial class Details : Form
{
public Details()
{
InitializeComponent();
BTN_toevoegen.DialogResult = DialogResult.OK;
BTN_cancel.DialogResult = DialogResult.Cancel;
}
private void Details_Load(object sender, EventArgs e)
{
RDB_pluche.Checked = true;
BTN_ok.Enabled = false;
}
private void RDB_pluche_CheckedChanged(object sender, EventArgs e)
{
PANEL_pluche.Visible = true;
PANEL_elektro.Visible = false;
}
private void RDB_elektro_CheckedChanged(object sender, EventArgs e)
{
PANEL_pluche.Visible = false;
PANEL_elektro.Visible = true;
}
private void BTN_toevoegen_Click(object sender, EventArgs e)
{
open_foto.Filter = "jpg (*.jpg)|*.jpg|bmp(*.bmp)|*.bmp|png(*.png)|*.png";
if (open_foto.ShowDialog() == System.Windows.Forms.DialogResult.OK && open_foto.FileName.Length > 0)
{
TXT_adres.Text = open_foto.FileName;
PIC_beer.Image = Image.FromFile(open_foto.FileName);
}
}
private void BTN_ok_Click(object sender, EventArgs e)
{
}
public void getdetails()
{
if (RDB_pluche.Enabled == true)
{
Pluche_Beer objectBeer_pluche = new Pluche_Beer(TXTNaam_pluche.Text, open_foto.FileName, "(Wasprogramma: " + TXT_wasprogramma.ToString() + " Graden Celsius");
}
else
{
Elektronische_Beer objectBeer_Elektro = new Elektronische_Beer(TXTNaam_elekro.Text, open_foto.FileName, "aantal Batterijen: " + CMBOBatterijen.ToString());
}
}
private void Details_MouseMove(object sender, MouseEventArgs e)
{
foreach (Control c in this.Controls)
{
if (c is TextBox)
{
TextBox textBox = c as TextBox;
if (textBox.Text != string.Empty)
{
BTN_ok.Enabled = true;
}
}
}
}
}
}
серьезный неупорядоченный вопрос! –
Details.getDetails объявлен не возвращать ничего (void), поэтому компилятор не удовлетворен, когда вы пытаетесь добавить в свой список результат getDetails. Вы должны вернуть объект, созданный там, но также это может потерпеть неудачу, если у двух объектов не будет такого же базового класса Berenlijst – Steve
, который я понял, я не знаю, как я мог бы попытаться преобразовать свой вопрос в более логичный, чтобы понять, Основной вопрос: как я могу добавить объект, созданный из класса в форме, в список в другой форме, если это поможет? –