Я строю небольшую Winform, в которой я могу просматривать виды пищи на моей кухне.Выпадающие элементы на ToolstripmenuItem и посмотреть, проверены ли их предметы
Весь наш фонд может быть отображен на рисунке datagrid.
Теперь у меня есть filtermenu, который содержит раскрывающийся список элементов, которые можно проверить и снять.
На основании того, какие элементы в этом списке отмечены, дисплей в представлении datagridview изменяется. Отображаются только выбранные элементы.
По крайней мере, так я и хочу. Меню в настоящее время состоит из 5 пунктов: мясо, рыба, фрукты, овощи и прочее.
Я использую абстрактный класс. Продовольствие и все другие классы производятся от него. В конце концов я сделать строковое представление каждого куска пищи, которая выглядит немного как этот
FoodType * FoodName * AmountInStock * ...
Так звезда * как разделитель.
Тогда я это
foreach(Food f in this.kitchen.FoodList)
{
string[] s = f.ToString().Split('*');
Object o = filterMenu.DropDownItems[s[0]];
}
С FoodList будучи ArrayList. Затем я отлаживаю это с помощью VisualStudio 2008
Объект o всегда содержит null.
Тем не менее s [0] всегда содержит название пищевого продукта. То, что я хочу, это узнать, как выбрать предмет, на который проверен менулист. Если флажок установлен, datagridview должен отобразить его. Если нет, не показывайте его.
Я заполнить его в конструкторе с этим:
public static void Fill(ToolStripMenuItem item, Type food)
{
foreach (string element in Enum.GetNames(food))
{
if (element != "nothing")
{
ToolStripMenuItem it = (ToolStripMenuItem)item.DropDownItems.Add(element);
it.Checked = true;
it.CheckOnClick = true;
}
}
}
Я попытался объект браузера, но я не могу найти ничего, что помогает, поэтому я перехожу здесь.
Хм. Я не могу проверить это из-за того, что у меня нет Dropdowncontrol в VS2008. – Tigraine 2008-11-28 10:10:13