C# динамические имена элементов управления в.NET CF

Я работаю с.NET платформа CF в c#, и я хочу знать, могу ли я получить доступ к средствам управления так или иначе как это:

string field="txtName";
this.Controls[field];

или этот impossibile?

1
задан NullUserException 20 December 2011 в 16:16
поделиться

4 ответа

Как насчет использования Linq?

var myControl = this.Controls.Cast<Control>().OfType<WhateverControlType>().FirstOrDefault(cont => cont.ID == "myControlId");

Что-то вроде этого?

0
ответ дан 3 September 2019 в 00:30
поделиться

Я не понимаю, почему это было бы неправильно, индексатор ожидает строку , а вы передаете строку , так что для меня это правильно.

0
ответ дан 3 September 2019 в 00:30
поделиться

Я думаю, что метод, который вы ищете, это FindControl - вы найдете этот метод на всем, что имеет коллекцию Controls.

2
ответ дан 3 September 2019 в 00:30
поделиться

Можно ссылаться на элемент управления в коллекции элементов управления по имени (stirng) или индексу (int). Единственное, что вам нужно будет сделать дополнительно, это привести элемент управления к типу объекта, который он представляет. Что-то вроде следующего.

MyControl c (MyControl)это. Controls["ControlName"];

Наслаждаться!

0
ответ дан 3 September 2019 в 00:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: