Windows Forms / PaintEventHandler хотят рисовать с помощью 2D-массива - PullRequest
0 голосов
/ 05 июня 2018

У меня проблема с некоторыми "домашними заданиями" в формах Windows.Я уверен, что это довольно просто, но я не совсем понимаю функциональность PaintEventHandler.

Существует 2D-массив, в котором хранится 247 символов.Я хочу нарисовать эти символы на панели.Мне удалось заставить это работать, но следующим шагом было вставить контролируемый символ, такой как пешка.Моя идея состояла в том, чтобы просто изменить сохраненный символ массива и «обновить» панель измененным массивом.

Для этого я создал класс для поля «game» с методом, чтобы заполнить массивсимволы. В class Form1 есть метод для рисования символов, но как я могу дать массив этому, PaintEventHandler ".Поле-объект будет хранить массив после изменений, и PaintEventHandler должен рисовать этот шанс.Вот код:

public class Spielfeld
{
    public Spielfeld()
    {
        string[,] V_Spielfeld;
        V_Spielfeld = WriteArray();

    }

    //Schreibe Spielfeld-Array
    public string[,] WriteArray()
    {            
        ......................
        return V_Spielfeld;
    }


}

public partial class Form1 : Form
{

    public Form1()
    {

        string Pfad = @"";
        Spielfeld O_Field = new Spielfeld(); //????????
        ........................
        ........................
        InitializeComponent();


    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    public void panel1_Paint(object sender, PaintEventArgs e)
    {
        string[,] V_Spielfeld = O_Field.WriteArray(); //???????????

        int a = V_Spielfeld.GetLength(0); //Spalte
        int b = V_Spielfeld.GetLength(1); //Zeile

       ..................
...