frmStyleBase.cs 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using Infragistics.Win;
  9. using Infragistics.Win.Misc;
  10. using Infragistics.Win.UltraWinEditors;
  11. using Infragistics.Win.UltraWinGrid;
  12. using Infragistics.Win.UltraWinTabControl;
  13. using Infragistics.Win.UltraWinToolbars;
  14. using CoreFS.CA06;
  15. namespace Core.Mes.Client.Common
  16. {
  17. public partial class frmStyleBase :FrmBase
  18. {
  19. public string[] QueryStrings
  20. {
  21. get
  22. {
  23. return this.Key.Split('@');
  24. }
  25. }
  26. ComboBox cboMain; //定义ComboBox控件
  27. // public bool On_Off_Thread = false;
  28. public frmStyleBase()
  29. {
  30. InitializeComponent();
  31. }
  32. protected override void OnLoad(EventArgs e)
  33. {
  34. SetControlStyle(this);
  35. base.OnLoad(e);
  36. }
  37. //protected override void OnPaint(PaintEventArgs e)
  38. //{
  39. // // FillRectangleFloat(e, this);
  40. // // base.OnPaint(e);
  41. //}
  42. private void frmStyleBase_Load(object sender, EventArgs e)
  43. {
  44. }
  45. /// <summary>
  46. /// 处理ComboBox边框问题(没完成)
  47. /// </summary>
  48. /// <param name="e"></param>
  49. /// <param name="parentCtrl"></param>
  50. private void FillRectangleFloat(PaintEventArgs e)
  51. {
  52. //创建边框颜色
  53. SolidBrush blueBrush = new SolidBrush(Color.Black);
  54. //设置边框坐标
  55. float x = cboMain.Location.X - 1;
  56. float y = cboMain.Location.Y - 1;
  57. float width = cboMain.Width + 2;
  58. float height = cboMain.Height + 2;
  59. //填充边框
  60. e.Graphics.FillRectangle(blueBrush, x, y, width, height);
  61. }
  62. /// <summary>
  63. /// 控件重画事情(没完成)
  64. /// </summary>
  65. /// <param name="sender"></param>
  66. /// <param name="e"></param>
  67. /// <param name="cboMain"></param>
  68. private void Main_Paint(object sender, PaintEventArgs e)
  69. {
  70. FillRectangleFloat(e);
  71. }
  72. /// <summary>
  73. /// 遍历设置窗体上控件样式
  74. /// </summary>
  75. /// <param name="parentCtrl">父容器</param>
  76. private void SetControlStyle(Control parentCtrl)
  77. {
  78. try
  79. {
  80. foreach (Control ctrl in parentCtrl.Controls)
  81. {
  82. if (ctrl.HasChildren) SetControlStyle(ctrl);
  83. ctrl.EnabledChanged += new System.EventHandler(AllEnabledChanged);
  84. if (ctrl.ToString().IndexOf("ComboBox") > 0 && (ctrl is ComboBox))
  85. {
  86. SetComboBoxStyle(ctrl as ComboBox);
  87. continue;
  88. }
  89. if (ctrl.ToString().IndexOf("UltraGroupBox") > 0 && (ctrl is UltraGroupBox))
  90. {
  91. SetUltraGroupBoxStyle(ctrl as UltraGroupBox);
  92. continue;
  93. }
  94. if (ctrl.ToString().IndexOf("UltraExpandableGroupBox") > 0 && (ctrl is UltraExpandableGroupBox))
  95. {
  96. SetUltraExpandableGroupBoxStyle(ctrl as UltraExpandableGroupBox);
  97. continue;
  98. }
  99. if (ctrl.ToString().IndexOf("UltraTextEditor") > 0 && (ctrl is UltraTextEditor))
  100. {
  101. SetUltraTextEditorStyle(ctrl as UltraTextEditor);
  102. continue;
  103. }
  104. if (ctrl.ToString().IndexOf("UltraComboEditor") > 0 && (ctrl is UltraComboEditor))
  105. {
  106. SetUltraComboEditorStyle(ctrl as UltraComboEditor);
  107. continue;
  108. }
  109. if (ctrl.ToString().IndexOf("UltraCombo") > 0 && (ctrl is UltraCombo))
  110. {
  111. SetUltraComboStyle(ctrl as UltraCombo);
  112. continue;
  113. }
  114. if (ctrl.ToString().IndexOf("UltraDateTimeEditor") > 0 && (ctrl is UltraDateTimeEditor))
  115. {
  116. SetUltraDateTimeEditorStyle(ctrl as UltraDateTimeEditor);
  117. continue;
  118. }
  119. if (ctrl.ToString().IndexOf("UltraGrid") > 0 && (ctrl is UltraGrid))
  120. {
  121. SetUltraGridStyle(ctrl as UltraGrid);
  122. continue;
  123. }
  124. if (ctrl.ToString().IndexOf("Label") > 0 && (ctrl is Label))
  125. {
  126. SetLabelStyle(ctrl as Label);
  127. continue;
  128. }
  129. if (ctrl.ToString().IndexOf("CheckBox") > 0 && (ctrl is CheckBox))
  130. {
  131. SetCheckBoxStyle(ctrl as CheckBox);
  132. continue;
  133. }
  134. if (ctrl.ToString().IndexOf("RadioButton") > 0 && (ctrl is RadioButton))
  135. {
  136. SetRadioButtonStyle(ctrl as RadioButton);
  137. continue;
  138. }
  139. if (ctrl.ToString().IndexOf("TextBox") > 0 && (ctrl is TextBox))
  140. {
  141. SetTextBoxStyle(ctrl as TextBox);
  142. continue;
  143. }
  144. if (ctrl.ToString().IndexOf("ComboBox") > 0 && (ctrl is ComboBox))
  145. {
  146. SetComboBoxStyle(ctrl as ComboBox);
  147. continue;
  148. }
  149. if (ctrl.ToString().IndexOf("UltraNumericEditor") > 0 && (ctrl is UltraNumericEditor))
  150. {
  151. SetUltraNumericEditorStyle(ctrl as UltraNumericEditor);
  152. continue;
  153. }
  154. }
  155. }
  156. catch (Exception ee)
  157. {
  158. Console.WriteLine(ee.Message);
  159. }
  160. }
  161. private void AllEnabledChanged(object sender, EventArgs e)
  162. {
  163. if (((Control)sender).Enabled == true)
  164. {
  165. if (sender is TextBox || sender is ComboBox)
  166. ((Control)sender).BackColor = Color.White;//Color.LightCyan;
  167. else if (sender is UltraTextEditor)
  168. ((UltraTextEditor)sender).Appearance.BackColor = Color.White;//Color.LightCyan;
  169. else if (sender is UltraComboEditor)
  170. ((UltraComboEditor)sender).Appearance.BackColor = Color.White;//Color.LightCyan;
  171. else if (sender is UltraCombo)
  172. ((UltraCombo)sender).Appearance.BackColor = Color.White;//Color.LightCyan;
  173. else if (sender is UltraDateTimeEditor)
  174. ((UltraDateTimeEditor)sender).Appearance.BackColor = Color.White;//Color.LightCyan;
  175. else if (sender is UltraNumericEditor)
  176. ((UltraNumericEditor)sender).Appearance.BackColor = Color.White;//Color.LightCyan;
  177. }
  178. else
  179. {
  180. if (sender is TextBox || sender is ComboBox)
  181. ((Control)sender).BackColor = Color.White;// Color.Empty;
  182. else if (sender is UltraTextEditor)
  183. ((UltraTextEditor)sender).Appearance.BackColor = Color.White;// Color.Empty;
  184. else if (sender is UltraComboEditor)
  185. ((UltraComboEditor)sender).Appearance.BackColor = Color.White;// Color.Empty;
  186. else if (sender is UltraCombo)
  187. ((UltraCombo)sender).Appearance.BackColor = Color.White;// Color.Empty;
  188. else if (sender is UltraDateTimeEditor)
  189. ((UltraDateTimeEditor)sender).Appearance.BackColor = Color.White;// Color.Empty;
  190. else if (sender is UltraNumericEditor)
  191. ((UltraNumericEditor)sender).Appearance.BackColor = Color.White;// Color.Empty;
  192. }
  193. }
  194. #region "设置控件样式"
  195. /// <summary>
  196. /// 设置UltraGroupBox样式
  197. /// </summary>
  198. /// <param name="ulgrpbx">UltraGroup控件</param>
  199. private void SetUltraGroupBoxStyle(UltraGroupBox ulgrpbx)
  200. {
  201. ulgrpbx.ViewStyle = Infragistics.Win.Misc.GroupBoxViewStyle.XP;
  202. ulgrpbx.Font = new System.Drawing.Font("宋体", 9F);
  203. ulgrpbx.BackColor = Color.FromArgb(213, 228, 242);//System.Drawing.Color.Gainsboro;
  204. ulgrpbx.HeaderAppearance.BackColor = System.Drawing.Color.Empty;
  205. ulgrpbx.HeaderAppearance.BackColor2 = System.Drawing.Color.Empty;
  206. }
  207. /// <summary>
  208. /// 设置UltraExpandableGroupBox样式
  209. /// </summary>
  210. /// <param name="ulgrpbx">UltraExpandableGroupBox控件</param>
  211. private void SetUltraExpandableGroupBoxStyle(UltraExpandableGroupBox ulexgrpbx)
  212. {
  213. ulexgrpbx.ViewStyle = Infragistics.Win.Misc.GroupBoxViewStyle.VisualStudio2005;
  214. ulexgrpbx.Font = new System.Drawing.Font("宋体", 9F);
  215. ulexgrpbx.BackColor = Color.FromArgb(213, 228, 242);// System.Drawing.Color.Gainsboro;
  216. ulexgrpbx.HeaderAppearance.BackColor = Color.FromArgb(202, 218,238);// System.Drawing.Color.Empty;
  217. ulexgrpbx.HeaderAppearance.BackColor2 = Color.White;// System.Drawing.Color.Empty;
  218. }
  219. /// <summary>
  220. /// 设置UltraTextEditor样式
  221. /// </summary>
  222. /// <param name="ulgrpbx">UltraTextEditor控件</param>
  223. private void SetUltraTextEditorStyle(UltraTextEditor ultxte)
  224. {
  225. ultxte.FlatMode = true;
  226. if (ultxte.ReadOnly == false && ultxte.Enabled == true)
  227. ultxte.Appearance.BackColor = Color.White;// Color.LightCyan;
  228. if (ultxte.ReadOnly == true) ultxte.Appearance.BackColor = Color.White;
  229. ultxte.BorderStyle = Infragistics.Win.UIElementBorderStyle.Solid;
  230. ultxte.Appearance.BorderColor = Color.Black;
  231. ultxte.DisplayStyle = EmbeddableElementDisplayStyle.Standard;
  232. }
  233. /// <summary>
  234. /// 设置UltraComboEditor样式
  235. /// </summary>
  236. /// <param name="ulcmbxe">UltraComboEditor控件</param>
  237. private void SetUltraComboEditorStyle(UltraComboEditor ulcmbxe)
  238. {
  239. ulcmbxe.FlatMode = true;
  240. ulcmbxe.AutoComplete = true;
  241. ulcmbxe.DropDownListWidth = -1;
  242. if (ulcmbxe.Enabled == true && ulcmbxe.ReadOnly == false)
  243. ulcmbxe.Appearance.BackColor = Color.White;//Color.LightCyan;
  244. ulcmbxe.BorderStyle = Infragistics.Win.UIElementBorderStyle.Solid;
  245. ulcmbxe.Appearance.BorderColor = Color.Black;
  246. ulcmbxe.DisplayStyle = EmbeddableElementDisplayStyle.Standard;
  247. }
  248. /// <summary>
  249. /// 设置UltraCombo样式
  250. /// </summary>
  251. /// <param name="ulcmb">UltraCombo控件</param>
  252. private void SetUltraComboStyle(UltraCombo ulcmb)
  253. {
  254. ulcmb.FlatMode = true;// DefaultableBoolean.True;
  255. ulcmb.BorderStyle = Infragistics.Win.UIElementBorderStyle.Default;
  256. if (ulcmb.Enabled == true && ulcmb.ReadOnly == false)
  257. ulcmb.Appearance.BackColor = Color.White;//Color.LightCyan;
  258. }
  259. /// <summary>
  260. /// 设置UltraDateTimeEditor样式
  261. /// </summary>
  262. /// <param name="uldte">UltraDateTimeEditor控件</param>
  263. private void SetUltraDateTimeEditorStyle(UltraDateTimeEditor uldte)
  264. {
  265. uldte.FlatMode = true;
  266. if (uldte.Enabled == true && uldte.ReadOnly == false)
  267. uldte.Appearance.BackColor = Color.White;//Color.LightCyan;
  268. uldte.BorderStyle = Infragistics.Win.UIElementBorderStyle.Solid;
  269. uldte.Appearance.BorderColor = Color.Black;
  270. }
  271. /// <summary>
  272. /// 设置UltraToolbarsManager样式
  273. /// </summary>
  274. /// <param name="uldte">UltraToolbarsManager控件</param>
  275. private void SetUltraToolbarsManager(UltraToolbarsManager ctrl)
  276. {
  277. ctrl.ShowQuickCustomizeButton = false;
  278. ctrl.ToolbarSettings.ToolDisplayStyle = ToolDisplayStyle.ImageAndText;
  279. ctrl.Style = ToolbarStyle.VisualStudio2005;
  280. ctrl.LockToolbars = true;
  281. }
  282. /// <summary>
  283. /// 设置UltraGrid样式
  284. /// </summary>
  285. /// <param name="ulgrid">UltraGrid控件</param>
  286. private void SetUltraGridStyle(UltraGrid ulgrid)
  287. {
  288. ulgrid.DisplayLayout.Appearance.BackColor = Color.FromArgb(245, 250, 254);
  289. ulgrid.DisplayLayout.CaptionVisible = Infragistics.Win.DefaultableBoolean.False;
  290. ulgrid.DisplayLayout.ScrollBounds = Infragistics.Win.UltraWinGrid.ScrollBounds.ScrollToFill;
  291. ulgrid.DisplayLayout.ScrollStyle = Infragistics.Win.UltraWinGrid.ScrollStyle.Immediate;
  292. ulgrid.DisplayLayout.MaxColScrollRegions = 2;
  293. ulgrid.DisplayLayout.MaxRowScrollRegions = 2;
  294. ulgrid.DisplayLayout.UseFixedHeaders = true;
  295. ulgrid.DisplayLayout.Override.FixedHeaderIndicator = FixedHeaderIndicator.None;
  296. ulgrid.DisplayLayout.Override.HeaderAppearance.TextHAlign = Infragistics.Win.HAlign.Center;
  297. ulgrid.DisplayLayout.Override.HeaderStyle = Infragistics.Win.HeaderStyle.Standard;
  298. ulgrid.DisplayLayout.Override.MinRowHeight = 21;
  299. ulgrid.DisplayLayout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.RowIndex;
  300. ulgrid.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.True;
  301. ulgrid.DisplayLayout.Override.AllowDelete = DefaultableBoolean.False;
  302. if (ulgrid.DisplayLayout.Bands[0].CardView == false)
  303. ulgrid.DisplayLayout.Override.ActiveRowAppearance.FontData.Bold = DefaultableBoolean.True;
  304. else
  305. ulgrid.DisplayLayout.Override.ActiveRowAppearance.FontData.Bold = DefaultableBoolean.False;
  306. ulgrid.DisplayLayout.Override.ActiveRowAppearance.BackColor = Color.Empty;
  307. ulgrid.DisplayLayout.Override.ActiveRowAppearance.ForeColor = Color.Empty;
  308. ulgrid.DisplayLayout.Override.CellClickAction = CellClickAction.EditAndSelectText;
  309. ulgrid.Font = new System.Drawing.Font("宋体", 9F);
  310. ulgrid.DisplayLayout.Appearance.FontData.SizeInPoints = 9;
  311. if (ulgrid.DisplayLayout.Bands.Count == 1)
  312. {
  313. ulgrid.DisplayLayout.Override.HeaderAppearance.BackColor = Color.FromArgb(158, 191, 231);// System.Drawing.Color.LightSteelBlue;
  314. ulgrid.DisplayLayout.Override.RowSelectorAppearance.BackColor = System.Drawing.Color.LightSteelBlue;
  315. ulgrid.DisplayLayout.Override.RowAlternateAppearance.BackColor = Color.GhostWhite;
  316. }
  317. else if (ulgrid.DisplayLayout.Bands.Count == 2)
  318. {
  319. ulgrid.DisplayLayout.Bands[0].Override.HeaderAppearance.BackColor = Color.FromArgb(158, 191, 231);//System.Drawing.Color.LightSteelBlue;
  320. ulgrid.DisplayLayout.Bands[0].Override.RowSelectorAppearance.BackColor = System.Drawing.Color.LightSteelBlue;
  321. ulgrid.DisplayLayout.Bands[0].Override.RowAppearance.BackColor = Color.LightGray;
  322. ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackColor = Color.FromArgb(233, 242, 199);
  323. ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackColor2 = Color.FromArgb(170, 184, 131);
  324. ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical;
  325. ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackColor = Color.FromArgb(233, 242, 199);
  326. ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackColor2 = Color.FromArgb(170, 184, 131);
  327. ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical;
  328. ulgrid.DisplayLayout.Bands[1].Override.RowAppearance.BorderColor = Color.FromArgb(170, 184, 131);
  329. }
  330. else if (ulgrid.DisplayLayout.Bands.Count == 3)
  331. {
  332. ulgrid.DisplayLayout.Bands[0].Override.HeaderAppearance.BackColor = Color.FromArgb(158, 191, 231);//System.Drawing.Color.LightSteelBlue;
  333. ulgrid.DisplayLayout.Bands[0].Override.RowSelectorAppearance.BackColor = System.Drawing.Color.LightSteelBlue;
  334. ulgrid.DisplayLayout.Bands[0].Override.RowAppearance.BackColor = Color.LightGray;
  335. ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackColor = Color.FromArgb(233, 242, 199);
  336. ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackColor2 = Color.FromArgb(170, 184, 131);
  337. ulgrid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical;
  338. ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackColor = Color.FromArgb(233, 242, 199);
  339. ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackColor2 = Color.FromArgb(170, 184, 131);
  340. ulgrid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical;
  341. ulgrid.DisplayLayout.Bands[1].Override.RowAppearance.BorderColor = Color.FromArgb(170, 184, 131);
  342. ulgrid.DisplayLayout.Bands[2].Override.HeaderAppearance.BackColor = Color.FromArgb(233, 242, 199);
  343. ulgrid.DisplayLayout.Bands[2].Override.HeaderAppearance.BackColor2 = Color.FromArgb(170, 184, 131);
  344. ulgrid.DisplayLayout.Bands[2].Override.HeaderAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical;
  345. ulgrid.DisplayLayout.Bands[2].Override.RowSelectorAppearance.BackColor = Color.FromArgb(233, 242, 199);
  346. ulgrid.DisplayLayout.Bands[2].Override.RowSelectorAppearance.BackColor2 = Color.FromArgb(170, 184, 131);
  347. ulgrid.DisplayLayout.Bands[2].Override.RowSelectorAppearance.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical;
  348. ulgrid.DisplayLayout.Bands[2].Override.RowAppearance.BorderColor = Color.FromArgb(170, 184, 131);
  349. }
  350. }
  351. /// <summary>
  352. /// 设置Label样式
  353. /// </summary>
  354. /// <param name="lbl">Label控件</param>
  355. private void SetLabelStyle(Label lbl)
  356. {
  357. lbl.BackColor = Color.Transparent;
  358. }
  359. /// <summary>
  360. /// 设置CheckBox样式
  361. /// </summary>
  362. /// <param name="chkbx">CheckBox控件</param>
  363. private void SetCheckBoxStyle(CheckBox chkbx)
  364. {
  365. chkbx.FlatStyle = FlatStyle.Flat;
  366. chkbx.BackColor = Color.Transparent;
  367. }
  368. /// <summary>
  369. /// 设置RadioButton样式
  370. /// </summary>
  371. /// <param name="rdbtn">RadioButton控件</param>
  372. private void SetRadioButtonStyle(RadioButton rdbtn)
  373. {
  374. rdbtn.FlatStyle = FlatStyle.Flat;
  375. rdbtn.BackColor = Color.Transparent;
  376. }
  377. /// <summary>
  378. /// 设置TextBox样式
  379. /// </summary>
  380. /// <param name="txtbx">TextBox控件</param>
  381. private void SetTextBoxStyle(TextBox txtbx)
  382. {
  383. txtbx.BorderStyle = BorderStyle.Fixed3D;
  384. if (txtbx.Enabled == true && txtbx.ReadOnly == false)
  385. txtbx.BackColor = Color.White;//Color.LightCyan;
  386. if (txtbx.ReadOnly == true) txtbx.BackColor = Color.White;
  387. }
  388. /// <summary>
  389. /// 设置ComboBox样式
  390. /// </summary>
  391. /// <param name="cmbx">ComboBox控件</param>
  392. private void SetComboBoxStyle(ComboBox cmbx)
  393. {
  394. cmbx.FlatStyle = FlatStyle.Standard;
  395. if (cmbx.Enabled == true)
  396. cmbx.BackColor = Color.White;//Color.LightCyan;
  397. else
  398. cmbx.BackColor = Color.White;//Color.LightCyan;
  399. }
  400. /// <summary>
  401. /// 设置UltraNumericEditor样式
  402. /// </summary>
  403. /// <param name="ulNumEdor">UltraNumericEditor控件</param>
  404. private void SetUltraNumericEditorStyle(UltraNumericEditor ulNumEdor)
  405. {
  406. ulNumEdor.ImeMode = ImeMode.Disable;
  407. ulNumEdor.DisplayStyle = EmbeddableElementDisplayStyle.Standard;
  408. if (ulNumEdor.Enabled == true && ulNumEdor.ReadOnly == false)
  409. ulNumEdor.Appearance.BackColor = Color.White;// Color.LightCyan;
  410. }
  411. #endregion
  412. #region "公共方法"
  413. /// <summary>
  414. /// ultraGrid单元格内容复制
  415. /// </summary>
  416. /// <param name="sender"></param>
  417. /// <param name="e"></param>
  418. private void ultraGrid1_KeyDown(object sender, KeyEventArgs e)
  419. {
  420. if (((UltraGrid)sender).ActiveCell != null)
  421. {
  422. if (e.Control && e.KeyCode == Keys.C)
  423. {
  424. Clipboard.SetDataObject(((UltraGrid)sender).ActiveCell.Value, false);
  425. }
  426. }
  427. }
  428. /// <summary>
  429. /// 设置ultraGrid是否允许分组
  430. /// </summary>
  431. /// <param name="ulgrid">ultraGrid控件</param>
  432. /// <param name="Checked">是否允许</param>
  433. public void AllowGroup(Infragistics.Win.UltraWinGrid.UltraGrid ulgrid, bool Checked)
  434. {
  435. ulgrid.DisplayLayout.GroupByBox.Hidden = !Checked;
  436. if (!Checked)
  437. ulgrid.DisplayLayout.Bands[0].SortedColumns.Clear();
  438. }
  439. /// <summary>
  440. /// 设置ultraGrid是允许过滤
  441. /// </summary>
  442. /// <param name="Grid">ultraGrid控件</param>
  443. /// <param name="Checked">是否允许</param>
  444. public void AllowFilter(Infragistics.Win.UltraWinGrid.UltraGrid ulgrid, bool Checked)
  445. {
  446. ulgrid.DisplayLayout.Override.FilterUIType = Infragistics.Win.UltraWinGrid.FilterUIType.FilterRow;
  447. if (Checked)
  448. ulgrid.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.True;
  449. else
  450. ulgrid.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  451. ulgrid.DisplayLayout.Bands[0].ColumnFilters.ClearAllFilters();
  452. }
  453. /// <summary>
  454. /// 设置ultraGrid指定Bands索引的为不可编辑,如有选择Checked列Key为selectkey
  455. /// </summary>
  456. /// <param name="Grid">ultraGrid控件</param>
  457. /// <param name="index">Bands索引</param>
  458. public void SetNoEnable(Infragistics.Win.UltraWinGrid.UltraGrid ulgrid, int index)
  459. {
  460. foreach (Infragistics.Win.UltraWinGrid.UltraGridColumn Col in ulgrid.DisplayLayout.Bands[index].Columns)
  461. {
  462. if (Col.Key.ToLower() != "selectkey") //选择复选框
  463. Col.CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  464. }
  465. }
  466. /// <summary>
  467. /// 设置ultraGrid为不可编辑,如有选择Checked列Key为selectkey
  468. /// </summary>
  469. /// <param name="ulgrid">ultraGrid控件</param>
  470. public void SetNoEnable(Infragistics.Win.UltraWinGrid.UltraGrid ulgrid)
  471. {
  472. foreach (Infragistics.Win.UltraWinGrid.UltraGridBand var in ulgrid.DisplayLayout.Bands)
  473. {
  474. foreach (Infragistics.Win.UltraWinGrid.UltraGridColumn Col in var.Columns)
  475. {
  476. if (Col.Key.ToLower() != "selectkey") //选择复选框
  477. Col.CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  478. }
  479. }
  480. }
  481. /// <summary>
  482. /// 设置指定条件行的背景颜色
  483. /// </summary>
  484. /// <param name="condition">数据筛条件(DataView.RowFilter的值)</param>
  485. /// <param name="key"></param>
  486. /// <param name="color">颜色值</param>
  487. /// <param name="table">数据源</param>
  488. /// <param name="Grid">ultraGrid控件</param>
  489. /// <param name="NotEdit">是否可编辑</param>
  490. public void SetRowBackColor(string condition, string key, System.Drawing.Color color, DataTable table,
  491. Infragistics.Win.UltraWinGrid.UltraGrid Grid, bool NotEdit)
  492. {
  493. try
  494. {
  495. bool ISOK = true;
  496. List<string> priKey = new List<string>();
  497. priKey.Add(key);
  498. ISOK = SetPriKey(priKey, table);
  499. DataView dv = new DataView();
  500. dv.Table = table;
  501. dv.RowFilter = condition;
  502. DataTable dt = dv.ToTable();
  503. if (ISOK)
  504. {
  505. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in Grid.Rows)
  506. {
  507. if (!row.IsDataRow) continue;
  508. DataRow[] dr = dt.Select(key + "=" + this.getStr(row.Cells[key].Value));
  509. if (dr.Length > 0)
  510. {
  511. Infragistics.Win.Appearance appearance1 = new Infragistics.Win.Appearance();
  512. appearance1.ForeColor = color;
  513. row.Appearance = appearance1;
  514. if (NotEdit)
  515. {
  516. try
  517. {
  518. row.Cells["SelectKey"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  519. }
  520. catch (Exception)
  521. {
  522. }
  523. }
  524. }
  525. }
  526. }
  527. else
  528. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in Grid.Rows)
  529. {
  530. if (!row.IsDataRow) continue;
  531. foreach (DataRowView drow in dv)
  532. {
  533. if (drow[key].ToString() == row.Cells[key].Value.ToString())
  534. {
  535. Infragistics.Win.Appearance appearance1 = new Infragistics.Win.Appearance();
  536. appearance1.ForeColor = color;
  537. row.Appearance = appearance1;
  538. if (NotEdit)
  539. {
  540. try
  541. {
  542. row.Cells["SelectKey"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  543. }
  544. catch (Exception)
  545. {
  546. }
  547. }
  548. }
  549. }
  550. }
  551. }
  552. catch (Exception)
  553. {
  554. }
  555. }
  556. /// <summary>
  557. /// 对目标对象进行字符串的转换
  558. /// </summary>
  559. /// <param name="obj"></param>
  560. /// <returns></returns>
  561. public string getStr(object obj)
  562. {
  563. if (obj == null || obj.GetType() == typeof(System.DBNull))
  564. {
  565. return "";
  566. }
  567. else
  568. {
  569. return Convert.ToString(obj).Trim();
  570. }
  571. }
  572. public bool SetPriKey(List<string> PriStr, DataTable dt)
  573. {
  574. try
  575. {
  576. DataColumn[] PriColunms = new DataColumn[PriStr.Count];
  577. int i = 0;
  578. foreach (string var in PriStr)
  579. {
  580. PriColunms[i] = dt.Columns[var];
  581. i++;
  582. }
  583. dt.PrimaryKey = PriColunms;
  584. }
  585. catch
  586. {
  587. return false;
  588. }
  589. return true;
  590. }
  591. /// <summary>
  592. /// 获取子窗体弹出的位置坐标
  593. /// </summary>
  594. /// <param name="ChildWindowSize"></param>
  595. /// <returns></returns>
  596. public static Point GetChildWindowLocation(Size ChildWindowSize)
  597. {
  598. int width = Cursor.Position.X + ChildWindowSize.Width - Screen.PrimaryScreen.Bounds.Width;
  599. int height = Cursor.Position.Y + ChildWindowSize.Height - Screen.PrimaryScreen.Bounds.Height + 30;
  600. width = (width > 0) ? (Cursor.Position.X - width) : Cursor.Position.X; // X坐标
  601. height = (height > 0) ? (Cursor.Position.Y - height + 10) : (Cursor.Position.Y + 10); // Y坐标
  602. return new Point(width, height);
  603. }
  604. #endregion
  605. }//class
  606. }