c winform窗體控制項怎麼根據得到的字串自動生成

2021-04-01 08:03:51 字數 3227 閱讀 1634

1樓:匿名使用者

就是利用c#的反射技術:

例子,如下:

新增using system.reflection;

private void button1_click(object sender, eventargs e)

control 就是你想要的winfrom控制項或者textbox control = (textbox)cttype.invokemember(null, bindingflags.createinstance, null, null, null);

2樓:

這篇文章應該能解開你的疑惑。

c# winform窗體控制項怎麼根據得到的字串自動生成?

3樓:匿名使用者

想動態建立控制項嗎?

動態建立控制項其實很容易做到的;

通過讀取到的資料,判斷其控制項型別,再將這個控制項new 出來textbox tb = new textbox;

tb.座標 = ... ;

tb.長度 = ... ;

this.conttrols.add(tb) ;

這樣就能夠建立乙個文字框了;

當然那,如果型別比較多的話,寫起判斷,就比較麻煩了;

這個時候你可以使用.*** 的方法,「反射」

至於這個方法的**,你可以找一下msdn 的事例!

祝你好運

4樓:匿名使用者

每個winform窗體**最上面都有了initialize***ponent();方法 窗體控制項生成的**就在這個裡面,樓主研究下就知道怎麼生成控制項了

5樓:匿名使用者

直接去工具箱裡拖出乙個textbox控制項放上去不就生成乙個控制項了嗎?

c#的winform窗體拖控制項就能自動生成**,但沒找到怎麼把拖的控制項例項作為窗體form例項的成員的**

6樓:匿名使用者

這個都是微軟給封裝好的了 除了你想做自定義控制項之外,也沒太必要去了解這是這麼實現的,知道用控制項就行了

7樓:匿名使用者

winform窗體拖控制項自動生成的**是顯示在 form1.designer.cs 中的。

可以在窗體的建構函式中 找到 它自動呼叫了initialize***ponent() 這個方法,然後選擇轉到。

8樓:匿名使用者

主意看下designer.cs檔案,裡面就是控制項的建立及初始化。在vs2003的年代,業務**和這些控制項**是在乙個cs檔案裡面的,但是2005開始就分開了。

9樓:

屬性裡的name就是控制項的例項名稱了。

c#怎樣在winform窗體中自動生成label1控制項,比如有姓名,性別,年齡三個欄位就自動生成三個label來顯示

10樓:匿名使用者

private void button1_click(object sender, eventargs e)

;for (int i = 0; i < list.count; i++)}

11樓:匿名使用者

lb.location = new system.drawing.point(73, (53 + i * 60));

把 i 那個變數的 寫到 y 引數就ok

c# winform怎麼**產生控制項(如lable)

12樓:匿名使用者

label lb = new label();//new乙個label控制項

point p = new point(90, 20);//設定控制項顯示位置

lb.width = 150;//設定寬度lb.height = 50;//設定高度lb.text = "dfdfds";//控制項內容lb.location=p;

this.controls.add(lb);//將控制項新增到當前窗體int x=lb.

location.x;//獲取控制項x座標int y = lb.location.

y;//獲取控制項x座標

13樓:匿名使用者

簡單給你說明一下

你要先理解容器的概念,若要在窗體裡做,那麼最大的容器就是窗體form,假設form名為form1,你要在此窗體的(100,50)座標位置生成乙個label名為lbl,寬度為100,高度為10的label控制項,**如下:(我對每行**都做了逐一注釋)

label lbl=new label();//建立一下名為lbl的label控制項

lbl.width=100;//設定lbl的寬度

lbl.height=50;//設定lbl的高度

lbl.location=new system.drawing.point(100,10);//設定lbl的起始位置

form1.control.add(lbl);//將lbl裝入form1中

想要深入了解winform對容器中的控制項是怎樣實現布置的,你可以建立form窗體,然後向窗體中拖放入你想要了解的控制項,然後在該窗體為名的字尾為.designer.cs的檔案中,可以檢視到該窗體中所有控制項的定義及布局屬性的設定。

14樓:匿名使用者

lable lb = new lable();

lb.text=

lb.loacation=

lb.size=

15樓:匿名使用者

你可以先網上找找貪吃蛇的c#實現,看看別人怎麼做的,看你的問題,不應該這麼著急寫有點難度的,從基礎做起吧。

label label = new label()label.text = "哈哈"

父控制項.controls.add(label )label.location = ……

大概就是這樣,強烈建議樓主先多看看書,從一些小的基礎地方練起來,或者找原始碼先看看。

16樓:匿名使用者

寫乙個方法無限呼叫啊

winform控制項大全,要詳細的.

17樓:匿名使用者

即使給你再全的控制項資訊,也不能讓你全部記下來,到了想用的時候再查,在使用中學習,一點一點的就會知道越來越多的控制項

vb窗體怎麼用ado控制項或者datagrid控制項連線acce

把ado新增到窗體上,然後單擊右鍵,找到屬性,開啟屬性頁,就可以做連線資料庫的操作了呀 datagrid和ado控制項關聯可以實現資料的顯示 vb adodc 和 datagrid 控制項連線access資料庫 datagrid1.datasource adodc1with adodc1 conne...

cwinform中怎樣得到另一窗體的值

假設form2視窗需要訪問form1視窗中控制項的值,可以這樣做 1 將form1視窗中需要被其他窗體訪問的控制項設定為公共靜態 public static textbox txtname 2 在form2視窗中引用form1視窗中的控制項string name form1.txtname.text...

C在form窗體的panel控制項中新增label控制項

我來告訴你標準答案 註冊panel的resize事件,裡面寫下這些 label.location newpoint convert.toint32 panel.width label.width 2,convert.toint32 panel.height label.height 2 也就是計算l...