0

私は新しいプロジェクトを扱っています。Rectangles を Windows フォームに描画するクラスがあります。このクラスを別のクラスに埋め込みたい。コードは以下です。

メイン コードは形状コードを呼び出します。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
using sekilciz_uygulama;



namespace xml_test_v1

{
class Program
{
    static void Main(string[] args)
    {
        XmlDocument xDoc = new XmlDocument();

        xDoc.Load("c:\\sw_xml_test_4.xml");
        int rad=0;
        string giris_text = Console.ReadLine().ToString();

        Console.WriteLine(giris_text);
            foreach(XmlNode node in xDoc.SelectNodes("network/switch"))



            {

                string ip_adress =      node.SelectSingleNode("ip_adress").InnerText.ToString();

                Console.WriteLine(ip_adress);

                if (ip_adress.Contains(giris_text))

                {
                   // call for shape code!!!
                }


                }}}}

形状を作成するためのコード。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace sekilciz_uygulama
{
public class Sekilciz
{

    public Rectangle[] skare;

    private SolidBrush firca;
    private int x,y, genislik, yukseklik;

    public Sekilciz()

    {
      skare = new Rectangle[5];
        firca = new SolidBrush(Color.Blue);

        x = 500;
        y = 200;
        genislik= 100;

        yukseklik =100;


        for(int i=0; i< skare.Length;i++)

        {
             skare[i] = new Rectangle(x,y,genislik,yukseklik);

            x-=150;
        }
    }

    public void kareciz(Graphics duzlem)

    {
        foreach(Rectangle rec in skare)

        {
            duzlem.FillRectangle(firca,rec);
        }
    }
    }

}

4

2 に答える 2

0
var sekilciz = new Sekilciz();
sekilciz.kareciz(null);

メソッドにパラメーターを渡す必要がありますkareciz

于 2012-10-18T07:28:50.910 に答える
0
// "this" is  your windows form, or control like button
var myGraphic = this.CreateGraphics();
var sekilciz = new Sekilciz(myGraphic);
sekilciz.kareciz();

しかし、コンストラクターで実行中の処理が多すぎます。そのコードを同じクラスの他のメソッドに移動することをお勧めします。

Windows フォームでの描画のサンプルを完成させるには、ここを参照してください: Windows フォームへのグラフィックスの描画の基本

于 2012-10-18T07:24:18.830 に答える