1
命名ShapeContainer我儘量讓這畫網絡圖 的應用程序,我在形式和成動態創建ShapeContainer帆布此面板中使用的面板。如何運行
在該帆布我創建一些形狀和動態線路(用於創建這些形狀我使用兩種方法)
爲線形:
private void CreateLine(int StartX,int StartY,int EndX,int EndY,Color lineColor,String ControlName)
{
LineShape newline = new LineShape();
canvas.Parent = panMap;
newline.Parent = canvas;
newline.StartPoint = new Point(StartX+ZoomScale , StartY+ZoomScale);
newline.EndPoint = new Point(EndX + ZoomScale, EndY + ZoomScale);
newline.BorderColor = lineColor;
newline.BorderWidth = 2;
newline.BorderStyle = System.Drawing.Drawing2D.DashStyle.Solid;
newline.Name = "Link_" + ControlName;
newline.Tag = "Link_" + ControlName;
newline.BringToFront();
canvas.Shapes.Add(newline);
}
和用於創建矩形i使這種方法:
private void CreateBox(int X, int Y, int ObjectType)
{
ShapeContainer canvas = new ShapeContainer();
RectangleShape box = new RectangleShape();
box.Parent = canvas;
box.Size = new System.Drawing.Size(100, 90);
box.Location = new System.Drawing.Point(X, Y);
box.Name = "Box" + ObjectType.ToString();
box.BackColor = Color.Transparent;
box.BorderColor = Color.Transparent;
box.BackgroundImage = img.Images[ObjectType];
box.BackgroundImageLayout = ImageLayout.Stretch;
box.BorderWidth = 0;
}
我稱這些方法是這樣的:
CreateBox(600, 160, 4);
CreateBox(600, 200, 3);
CreateLine(75, 83, 227, 176, Color.Green, "1");
CreateLine(227, 176, 367, 95, Color.Green, "2");
----現在,我有一些問題:1。 如何爲這個形狀(在其他方法使用)設定的名字嗎? 例如在TextBox控件我用這個:
TextBox txtbx = (TextBox)Controls["txtCityName"];
我能爲造型嗎?
如何爲此形狀創建方法?例如: :
newline.Click + = newliclick(object sender,EventArgs event,Color linecolor)!?
我想發送超過1個對象方法
原諒我長的問題,對不起,如果我無法描述我的問題(我的英語不好)。
它工作,TNX這麼多朋友。 – user3290286
它的工作,TNX。但我需要發送名稱或索引的換行方法。如果我想顯示換行符名稱,標籤或索引,請告訴我需要什麼代碼。 (在形式負載呼叫CreateLine()或CreateBox(再次)的幾個時間。TNX。 – user3290286