簡體   English   中英

從C#中的另一個類調用函數

[英]Call a function from another class in C#

我正在處理一個新項目。 我有一堂課來畫矩形到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);
        }
    }
    }

}

// "this" is  your windows form, or control like button
var myGraphic = this.CreateGraphics();
var sekilciz = new Sekilciz(myGraphic);
sekilciz.kareciz();

但是您的構造函數中正在進行太多處理。 最好在同一類中以其他方法移動該代碼。

查看此處以完成在Windows窗體上繪制的示例: 在Windows窗體上繪制圖形的基礎

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

您需要將參數傳遞給您的方法kareciz

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM