動態生成CheckBox(Winform程式)

2022-01-20 15:00:44 字數 1317 閱讀 1553

在做使用者許可權設定功能時,需要做乙個動態生成許可權列表的功能。(筆記、分享)

//

1、清空許可權控制項組的預設控制項

panelpermissions.controls.clear();

_groupboxlist = new list();

//2、遍歷許可權組資料,動態生成許可權控制項組

var groupboxnametemp = "

gbox";

var checkboxnametemp = "ck"

;

var lastgroupboxheight = 0

;

for (var i = 0; i < permissions.count; i++)

;lastgroupboxheight = lastgroupboxheight +gbox.height;

//將許可權組容器新增到介面上

panelpermissions.controls.add(gbox);

//建立許可權組容器中的checkbox

var prowindex = 0

;

var pcolindex = 0

;

for (var c = 0; c < permissions[i].permissions.count; c++)

;prowindex = c / 4;//

行號 pcolindex = c % 4;//

列號 checkbox.location = new point(8 + pcolindex * 135, 16 + prowindex * 32

); checkbox.enabled =_currentuserhaspermissions.contains(permissions[i].permissions[c].id);

gbox.controls.add(checkbox);

}_groupboxlist.add(gbox);

}

**場景解釋: 1、許可權是有分組的,每一組許可權放在乙個groupbox裡面。2、每一組許可權每行顯示3個許可權項(

prowindex = c / 4;//行號

pcolindex = c % 4;//列號

用來換行的。

動態生成CS檔案(動態生成C 類)

1.codetypedeclaration 可用於表示宣告類 結構 介面或列舉的 官方傳送門 2.codememberfield 表示某種型別的字段的宣告 官方傳送門 3.codedomprovider 可用於建立和檢索 生成器和 編譯器的例項。生成器可用於以特定的語言生成 而 編譯器可用於將 編譯...

動態生成Table DataSet

querymsmqlist querymsmq new querymsmqlist private coreexchange listquerylist querymsmq.mreceive dataset dsqueuemsmq new dataset datatable dsqueuetable...

動態生成列

create procedure sp createtable tname varchar 100 colscript varchar 1000 colnum int coltype varchar 100 as begin declare s varchar 8000 i int set s cr...