だからここに私は自分のフォームクラスを持っているコードです:Windowsフォーム:Graphics.Drawline doesntの仕事
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
BstTree tree = new BstTree();
tree.addRoot(50);
for (int i = 1; i < 50; i++)
{
int b = rnd.Next(1, 100);
listBox1.Items.Add(b);
tree.AddNode(tree.root, b);
}
tree.treeOutput(tree.root, this);
}
public void draw(Point prevPT, Point currentPT)
{
Graphics p = CreateGraphics();
Pen pen = new Pen(Color.Red, 5);
p.DrawLine(pen, prevPT, currentPT);
}
}
と私はBstTreeクラスを持っていると私はそこからdrawメソッドを呼び出します。
public Class BstTree
{
public void treeOutput(Node root, Form1 f)
{
Label node = new Label();
node.AutoSize = true;
node.Text = root.value.ToString();
node.Location = pt;
root.ancPT = pt;
f.Controls.Add(node);
f.draw(root.ancestor.ancPT, pt);
}
}
しかし、何も描画しません。どのようにこの問題を解決するのか分かりません。
ここで 'treeOutput'メソッドを呼び出していますか?関連するコードを表示してください(とあなたのデバッグ作業) – UnholySheep
問題を再現するテスト可能なコードを提供してください。ここで欠けている部分が多すぎます。 'pt'とは何ですか? 'Node'とは何ですか?私はそれらの部分が単に省略され、問題を再現できると思う。 –
まあ、デバッグについて言えば、描画メソッドが適切に管理し、すべての正しい入力パラメータを取得すると言うことができます – WhiteRaven