//-------------------------------------------------------------------------------------
		private void buttonAddCurrent_Click(object sender, EventArgs e)
		{
			try
			{
				OID sid = ((ComboBoxItem<Person>)comboBoxUsers.SelectedItem).Key.OID;
				if(sid == null)
					return;

				foreach(ACEitem i in ACL)
					if(i.ACE.SID == sid)
						return;

				object sd = null;
				if(treeMainMenu.HideSelection == false)
					sd = ((FormInfo)treeMainMenu.SelectedNodeItem.Object).SD;
				//else if(treeDivisions.HideSelection == false)
				// sd = ((ISimLinkedListItem)treeDivisions.SelectedNodeDataObject).Props["SD"];
				else
					throw new Exception("Не определен защищаемый элемент!");

				ACEitem ai = new ACEitem();
				ai.ACE.SD = (OID)sd;
				ai.ACE.SID = sid;
				ai.Browse = true;
				ai.Image = global::Sim.AdminForms.Properties.Resources.User;
				ai.Name = ((ComboBoxItem<Person>)comboBoxUsers.SelectedItem).Key.FullName;
				ACL.Add(ai);

				if(btnSave.Enabled == false)
				{
					finistPanel1.Enabled = false;
					splitContainer1.Panel1.Enabled = false;
					btnSave.Enabled = true;
					btnCancel.Enabled = true;
				}

			}
			catch(Exception Err)
			{
				Sim.Controls.ModalErrorBox.Show(Err, PanelBack);
			}
		}
		//-------------------------------------------------------------------------------------
		#region << Others Methods >>
		private void FillACLs(FormInfo fi)
		{
			try
			{
				OID sd = fi.SD;
				ACL.Clear();
				ACL.EventsOff();

				if(pSec.ACEs.ContainsKey(sd))
					foreach(ACE ace in pSec.ACEs[sd])
					{
						if(at != null && at.Contains(ace.SID) == false)
							continue;
						if(ace.SD == sd)
						{
							ACEitem i = new ACEitem();
							i.ACE = ace.Clone();
							IPersonSubject u = null;
							if(pSec.SecurityGroups.ContainsKey(ace.SID))
							{
								i.Image = global::Sim.AdminForms.Properties.Resources.Group;
								i.Name = pSec.SecurityGroups[ace.SID].Name;
							}
							else if((u = users[ace.SID]) != null)
							{
								i.Image = global::Sim.AdminForms.Properties.Resources.User;
								i.Name = u.FullName;
							}
							else
							{
								i.Image = global::Sim.AdminForms.Properties.Resources.UnknownGroup;
								i.Name = ace.SID.ToString();
							}
							ACL.Add(i);
						}
					}
				ACL.EventsOn();
				fdgvACL.Tag = sd;
			}
			catch(Exception Err)
			{
				Sim.Controls.ModalErrorBox.Show(Err, PanelBack);
			}
		}
		//-------------------------------------------------------------------------------------
		void SimModalMultiChoiceBox_DialogClosed(object sender, DialogResult result)
		{
			try
			{
				if(btnSave.Enabled)
				{
					finistPanel1.Enabled = false;
					splitContainer1.Panel1.Enabled = false;
					btnSave.Enabled = true;
					btnCancel.Enabled = true;
				}

				SimModalMultiChoiceBox frm = (SimModalMultiChoiceBox)sender;
				frm.DialogClosed -= new DialogClosedEventHandler(SimModalMultiChoiceBox_DialogClosed);
				if(result == DialogResult.Cancel)
					return;

				if(btnSave.Enabled == false)
				{
					finistPanel1.Enabled = false;
					splitContainer1.Panel1.Enabled = false;
					btnSave.Enabled = true;
					btnCancel.Enabled = true;
				}
				
				OID sd = (OID)fdgvACL.Tag;
				foreach(object i in frm.Choices)
				{
					ACEitem a = new ACEitem();
					a.ACE = new ACE();
					a.ACE.SID = ((SecurityItem)i).SID;
					a.ACE.SD = sd;
					a.Image = ((SecurityItem)i).Image;
					a.Name = ((SecurityItem)i).Name;
					a.Browse = true;
					ACL.Add(a);
				}
			}
			catch(Exception Err)
			{
				Sim.Controls.ModalErrorBox.Show(Err, PanelBack);
			}
		}