Form1.cs
Upload User: chinafred
Upload Date: 2007-08-14
Package Size: 10127k
Code Size: 5k
Category:

ADO-ODBC

Development Platform:

C#

  1. using System;
  2. using System.Drawing;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Windows.Forms;
  6. using System.Data;
  7. using System.Drawing.Drawing2D;
  8. namespace ch2_1
  9. {
  10. /// <summary>
  11. /// Form1 的摘要说明。
  12. /// </summary>
  13. public class Form1 : System.Windows.Forms.Form
  14. {
  15. /// <summary>
  16. /// 必需的设计器变量。
  17. /// </summary>
  18. private System.ComponentModel.Container components = null;
  19. private System.Windows.Forms.ContextMenu contextMenu1;
  20. private System.Windows.Forms.MenuItem menuItem1;
  21. private System.Windows.Forms.MenuItem menuItem2;
  22. private System.Windows.Forms.MenuItem menuItem3;
  23. private System.Windows.Forms.MenuItem menuItem4;
  24. private System.Windows.Forms.MenuItem menuItem5;
  25.         
  26.   
  27.         private LinearGradientMode lgMode=LinearGradientMode.Horizontal;
  28. public Form1()
  29. {
  30. //
  31. // Windows 窗体设计器支持所必需的
  32. //
  33. InitializeComponent();
  34.             
  35. //
  36. // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
  37. //
  38. }
  39. /// <summary>
  40. /// 清理所有正在使用的资源。
  41. /// </summary>
  42. protected override void Dispose( bool disposing )
  43. {
  44. if( disposing )
  45. {
  46. if (components != null) 
  47. {
  48. components.Dispose();
  49. }
  50. }
  51. base.Dispose( disposing );
  52. }
  53. #region Windows Form Designer generated code
  54. /// <summary>
  55. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  56. /// 此方法的内容。
  57. /// </summary>
  58. private void InitializeComponent()
  59. {
  60. System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));
  61. this.contextMenu1 = new System.Windows.Forms.ContextMenu();
  62. this.menuItem1 = new System.Windows.Forms.MenuItem();
  63. this.menuItem2 = new System.Windows.Forms.MenuItem();
  64. this.menuItem3 = new System.Windows.Forms.MenuItem();
  65. this.menuItem4 = new System.Windows.Forms.MenuItem();
  66. this.menuItem5 = new System.Windows.Forms.MenuItem();
  67. // 
  68. // contextMenu1
  69. // 
  70. this.contextMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  71.  this.menuItem1});
  72. // 
  73. // menuItem1
  74. // 
  75. this.menuItem1.Index = 0;
  76. this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  77.   this.menuItem2,
  78.   this.menuItem3,
  79.   this.menuItem4,
  80.   this.menuItem5});
  81. this.menuItem1.Text = "颜色变化方向";
  82. // 
  83. // menuItem2
  84. // 
  85. this.menuItem2.Index = 0;
  86. this.menuItem2.Text = "从上到下";
  87. this.menuItem2.Click += new System.EventHandler(this.menuItem2_Click);
  88. // 
  89. // menuItem3
  90. // 
  91. this.menuItem3.Index = 1;
  92. this.menuItem3.Text = "从左到右";
  93. this.menuItem3.Click += new System.EventHandler(this.menuItem3_Click);
  94. // 
  95. // menuItem4
  96. // 
  97. this.menuItem4.Index = 2;
  98. this.menuItem4.Text = "有右上到左下";
  99. this.menuItem4.Click += new System.EventHandler(this.menuItem4_Click);
  100. // 
  101. // menuItem5
  102. // 
  103. this.menuItem5.Index = 3;
  104. this.menuItem5.Text = "从左上到右下";
  105. this.menuItem5.Click += new System.EventHandler(this.menuItem5_Click);
  106. // 
  107. // Form1
  108. // 
  109. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  110. this.BackgroundImage = ((System.Drawing.Bitmap)(resources.GetObject("$this.BackgroundImage")));
  111. this.ClientSize = new System.Drawing.Size(492, 273);
  112. this.ContextMenu = this.contextMenu1;
  113. this.Name = "Form1";
  114. this.Text = "色彩渐变的图形";
  115. }
  116. #endregion
  117. protected override void OnPaint(PaintEventArgs e) 
  118. {
  119.    //获取事件的Graphics对象
  120. Graphics g = e.Graphics;
  121.        //现在创建需要绘制的长方形区域
  122. Rectangle r = new Rectangle(75, 50, 350, 170);
  123.    //创建一个渐变刷
  124. LinearGradientBrush lb = new LinearGradientBrush(r, Color.White,Color.Blue, lgMode);
  125.    //用渐变刷填充长方形区域
  126. g.FillRectangle(lb, r);
  127.         }
  128. /// <summary>
  129. /// 应用程序的主入口点。
  130. /// </summary>
  131. [STAThread]
  132. static void Main() 
  133. {
  134. Application.Run(new Form1());
  135. }
  136. private void menuItem2_Click(object sender, System.EventArgs e)
  137. {
  138.     //指定从上到下的渐变
  139. this.lgMode=LinearGradientMode.Vertical;
  140. this.Refresh();
  141. }
  142. private void menuItem3_Click(object sender, System.EventArgs e)
  143. {
  144. //指定从左到右的渐变。 
  145. this.lgMode=LinearGradientMode.Horizontal;
  146. this.Refresh();
  147. }
  148. private void menuItem4_Click(object sender, System.EventArgs e)
  149. {
  150. //指定从右上到左下的渐变。 
  151. this.lgMode=LinearGradientMode.BackwardDiagonal;
  152. this.Refresh();
  153. }
  154. private void menuItem5_Click(object sender, System.EventArgs e)
  155. {
  156. //从左上到右下的渐变。 
  157. this.lgMode=LinearGradientMode.ForwardDiagonal;
  158. this.Refresh();
  159. }
  160. }
  161. }