[英]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.