圆形按钮控制-揭开DrawArc的神秘面纱

下载control - 25.7 KB

介绍

VS2017的圆形按钮控件的更新版本,经过重构和样式选择。

V 1.3

改进了绘制程序DrawBorderGraphic(),粗糙的边缘现在更平滑了:

在GraphicsBuffer类中,“旧样式”属性被更现代的一行等价替换。

根据VS2017编辑器在页边距中显示的提示,可以很容易地做到这一点:

隐藏,复制代码public Bitmap BitmapX { get; set; }

public int WidthG { get; set; }

public int HeightG { get; set; }

public string NameG { get; set; }

///
/// returns the current Graphic Graphics object
///
public Graphics Graphic => (graphic);

///
/// returns true if the graphics object exists; false otherwise
///
public bool GraphicsBufferExists => (graphic != null);

背景

由于按钮和控件重叠导致测试表单不能正确显示,所以我决定修改代码,这样就不会发生这种情况,奇怪的是,作者似乎没有这个问题。

因此,当roundedbutton被设置为一个非常大的高度并将与下面的groupbox中的其他控件重叠时,groupbox button_GB和border_GB被向下移动,并且表单大小在RecalculateSizes()方法中被重新计算:

隐藏,复制代码///
/// Recalculate the form and groupbox positions.
///
private void RecalculateSizes()
{
if (this.button_GB.Top < this.rounded_button_RB.Bottom)
{
this.button_GB.Top = this.rounded_button_RB.Bottom;
this.border_GB.Top = this.button_GB.Bottom + 5;
}

if (this.Height < this.border_GB.Bottom + 100)
{
    this.Height = this.border_GB.Bottom + 100;
}

this.Invalidate();

}

我还添加了一个按钮,允许使用高分辨率监视器的用户缩放表单。这个工作的方式是惊人的简单,不像大多数复杂/不工作的建议,我发现时搜索互联网。

注意,表单的AutoScaleMode属性必须设置为默认字体,这样才能工作:

隐藏,复制代码private void Button_Click(object sender, EventArgs e)
{
Button button = (Button)sender;
string tag = button.Tag.ToString().ToUpper().Trim();

switch (tag)
{
    case "ENLARGE":
        // Scale form, AutoScaleMode.Font must be set for this to work.
        this.Font = new Font(this.Font.Name, this.Font.Size + 2);
        break;

警告:这种缩放方法适用于大多数控件,但不适用于像FlowLayoutPanel这样复杂的控件。

我还添加了新的属性:

RotatedText	RotatedTextAngle

它们允许以角度旋转文本,对于垂直方向的文本,通常是-90或90度。

使用的代码

不要忘记在加载解决方案后设置RoundedButtonDialog作为启动项目。

历史

v 1.2

固定改变宽度或高度时尺寸错误,按钮太大固定缺少底部和厚度为1的右侧线
V 1.3

改进了绘图例程DrawBorderGraphic()

					本文转载于:http://www.diyabc.com/frontweb/news14536.html
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值