Цель программы - использовать методы get и set для переменных.Get/Set Variable
У меня есть этот код в проект C#:
Form1:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private int c = 0;
public int a { get; set; }
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
a = 5;
Form2 f2 = new Form2();
f2.b = a;
f2.Show();
}
}
}
и в Form2:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form1 f1 = new Form1();
MessageBox.Show(Convert.ToString(b));
}
}
}
Этот код не работает, так как значение Ь должно быть 5 , но во время выполнения 0;
любое решение?
Он установлен только в 5, когда вы нажимаете кнопку в 'Form1'. Непонятно, что вы пытаетесь выполнить, но вы можете ограничить свой проект одной формой, чтобы избежать путаницы. –
Вы создаете новый экземпляр формы1 и вызываете получение этого нового экземпляра ... значение по умолчанию для этого равно 0 – Alexandre
Возможно, вам понадобится 'f1.a = 5' после создания экземпляра нового экземпляра Form1. По умолчанию он будет инициализирован равным 0. Вы устанавливаете его 5, только когда вы нажимаете кнопку в Form1. – Icemanind