C#实现圆角矩形按钮的美化界面代码

版权申诉
0 下载量 196 浏览量 更新于2024-11-26 收藏 53KB ZIP 举报
资源摘要信息:"C# 美化界面代码-圆角矩形按钮实现方法" 在C#编程中,界面的美化是提高用户体验的重要环节。为了在Windows窗体应用程序中实现美观且具有专业感的界面元素,开发者经常需要自定义控件的外观。本资源主要提供了如何使用C#实现圆角矩形按钮的详细代码示例。 知识点一:界面美化的重要性 在应用程序开发过程中,界面美化的目的是为了提升用户的使用体验。良好的界面设计可以提高用户的操作效率,减少误操作,并且增加应用程序的吸引力。因此,开发者往往会花费时间来设计和实现美观的用户界面。 知识点二:C# Windows窗体控件自定义 C#的Windows窗体应用程序中,开发者可以通过编程方式对标准控件进行自定义以改变其外观和行为。通过继承原有的控件类,并重写相应的绘图方法,可以实现对控件外观的个性化定制。 知识点三:圆角矩形按钮实现原理 圆角矩形按钮的实现原理基于GDI+绘图技术。通过创建Graphics对象,并使用Pen和Brush类,可以绘制出具有圆角的矩形。在按钮的Paint事件中重写绘图代码,可以在控件上绘制自定义的圆角矩形图形。 知识点四:Paint事件的使用 Paint事件是在控件需要被重绘时触发的。例如,当窗体首次显示、大小调整、或被其他窗体重叠后再次显示时,都会触发Paint事件。在Paint事件的处理方法中,可以通过Graphics对象来绘制各种图形。 知识点五:C#中的绘图类 在C#中,实现图形绘制主要涉及到以下几个类: 1. Graphics类:表示GDI+绘图表面,可以用来绘制各种图形。 2. Pen类:表示用于绘制线条和曲线的画笔。 3. Brush类:表示用于填充图形的画刷,包括SolidBrush(实心画刷)、LinearGradientBrush(线性渐变画刷)等。 4. Rectangle类:表示一个矩形的结构。 知识点六:代码实现圆角矩形按钮 在实现圆角矩形按钮时,主要步骤包括: 1. 继承Button类创建一个新的类。 2. 重写OnPaint方法,该方法在按钮需要重绘时被调用。 3. 在重写的OnPaint方法中,使用Graphics对象绘制圆角矩形。 4. 使用Pen对象定义边框颜色和宽度,并使用SolidBrush对象定义填充颜色。 5. 使用Math类和Rectangle结构来计算圆角的坐标和绘制圆角。 知识点七:代码优化和性能考虑 在自定义控件的实现中,需要注意绘图的性能。例如,应该避免在OnPaint方法中使用过于复杂的图形运算。此外,可以利用控件的双缓冲属性来减少重绘时的闪烁现象,提高界面的流畅度。 知识点八:代码调试和测试 完成圆角矩形按钮的代码编写后,需要进行充分的测试以确保其在各种情况下都能正确显示。测试过程中可能会发现绘图错误或者性能问题,需要根据反馈对代码进行相应的调整和优化。 通过以上知识点,开发者可以学习并掌握如何在C#中实现一个美观且功能强大的圆角矩形按钮,从而提高开发的Windows窗体应用程序的整体用户体验。

protected void Register_Click(object sender, EventArgs e) { { if (TextBox_emailreg.Text == "") { Response.Write("<script>window.alert('没有输入邮箱');</script>"); return; } else if (TextBox_name.Text == "") { Response.Write("<script>window.alert('没有输入用户名');</script>"); return; } else if (TextBox_password.Text == "") { Response.Write("<script>window.alert('没有输入密码');</script>"); return; } SqlConnection conn = new SqlConnection("Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=yijia;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"); conn.Open(); SqlCommand cmd = new SqlCommand("SELECT *FROM user_info where email = '"+ TextBox_emailreg.Text.Trim() +"'", conn); SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read(); int x = 0; if (sdr.HasRows) { Response.Write("<script>window.alert('邮箱已经存在,不可以重复注册');</script>"); return; } else if (TextBox_yanzhengma.Text != (String)Session["yanzheng"]) { Label1.ForeColor = System.Drawing.Color.Red; Label1.Text = "验证码不正确,请检查你的邮件"; return; } else if (x == 0) { sdr.Close(); string time = DateTime.Now.ToString(); String MD5 = public_function.Md5Hash(TextBox_password.Text); cmd.CommandText = "insert into user_info (email,name,password,time) values ('" + TextBox_emailreg.Text + "','" + TextBox_name.Text + "','" + MD5 + "','" + time + "')"; string rows_effedted = cmd.ExecuteNonQuery().ToString(); conn

2023-06-09 上传

protected void zhaohuimi_Click(object sender, EventArgs e) { if (zhaohuimi.Text == "忘记密码") { Label4.Text = "请输入新密码:"; Label5.Visible = true; TextBox_yanzhengma.Visible = true; zhaohuimi.Text = "确认修改"; Button_yanzhengma.Visible = true; Login.Text = "去登录"; goreg.Visible = false; } else { if (TextBox_email.Text == "") { Response.Write("<script>window.alert('没有输入邮箱');</script>"); return; } else if (TextBox_password.Text == "") { Response.Write("<script>window.alert('没有输入密码');</script>"); return; } else if (TextBox_yanzhengma.Text != (String)Session["yanzheng"]) { Label1.ForeColor = System.Drawing.Color.Red; Label1.Text = "验证码不正确,请检查你的邮件"; return; } SqlConnection conn = new SqlConnection("Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=yijia;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"); conn.Open(); SqlCommand cmd = new SqlCommand("SELECT * FROM user_info where email = '" + TextBox_email.Text.Trim() + "'", conn); SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read(); int x = 0; if (sdr.HasRows) { sdr.Close(); string time = DateTime.Now.ToString(); String MD5 = public_function.Md5Hash(TextBox_password.Text); SqlCommand sqlCmd = new SqlCommand("update user_info set password ='" + MD5 + "' where email='" + TextBox_email.Text + "'", conn); int rowCount = sqlCmd.ExecuteNonQuery(); conn.Close(); conn.Dispose(); Response.Write("<script>window.alert('密码修改成功,可以登录了');</script>"); } else { Response.Write("<script>window.alert('该邮箱还没有注册');</script>"); } Label4.Text = "请输入密码:"; Label5.Visible = false ; TextBox_yanzhengma.Visible = false ; zhaohuimi.Text = "忘记密码"; Button_yanzhengma.Visible = false ; Login.Text = "登录"; goreg.Visible = true ; Label1.Text = ""; } }

2023-06-09 上传