using OnDoc.Klassen; using Syncfusion.Pdf.Graphics; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Data; using System.Diagnostics; using System.Linq; using System.Net.Http.Headers; using System.Text; using System.Threading.Tasks; using System.Web.UI; using System.Windows.Forms; using Windows.UI.Core.Preview; namespace OnDoc.Helper { public class Security { DataTable secdata = new DataTable(); public void set_security(System.Windows.Forms.Control c) { Database.DB db = new Database.DB(AppParams.connectionstring); db.Get_Tabledata("select * from ondoc_funktionen where aktiv=1", false, true); secdata = db.dsdaten.Tables[0]; foreach (System.Windows.Forms.Control control in c.Controls) { Type typ = control.GetType(); Console.WriteLine(typ.Name); if (typ.Name == "Ribbon") { Ribbon tmpribbon = (Ribbon)control; foreach (RibbonTab tab in tmpribbon.Tabs) { switch (Update_Item(tab, tab.Name)) { case 1: tab.Enabled = false; break; case 2: tab.Visible = false; break; default:break; } ; foreach (RibbonPanel panel in tab.Panels) { switch (Update_Item(panel,panel.Name)) { case 1: panel.Enabled = false; break; case 2: panel.Visible = false; break; default: break; }; foreach (RibbonItem item in panel.Items) { switch (Update_Item(item, item.Name)) { case 1: item.Enabled = false; break; case 2: item.Visible = false; break; default: break; }; } } } } if (typ.Name == "Label") { if (typ.Name == "lblToApprove") { Label lbl = (Label)control; } } get_all_controls(control); } } private int Update_Item(object sender, string name) { foreach (DataRow dr in secdata.Rows) { if (dr["Objectname"].ToString() == name) { switch (dr["ObjektStatus"].ToString()) { case "1": return 1; break; case "2": return 2; break; case "3": return 3; break; default: return 0; break; } } } return 0; } public void get_all_controls(System.Windows.Forms.Control c) { foreach (System.Windows.Forms.Control subc in c.Controls) { Type typ = c.GetType(); Console.WriteLine(typ.Name); if (typ.Name == "Label") { if (typ.Name== "lblToApprove") { Label lbl = (Label)subc; } Ribbon tmpribbon = (Ribbon)c; } get_all_controls(subc); } } } }