| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 979 人关注过本帖
标题:怎么通过滚动条来控制一个圆的半径?
只看楼主 加入收藏
zhaozhiwei
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-7-19
结帖率:100%
收藏
 问题点数:0 回复次数:7 
怎么通过滚动条来控制一个圆的半径?
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public float fpoint;//圆的直径
        private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.Text = hScrollBar1.Value.ToString();
            fpoint = 10;//设一个初始值

        }
        private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
        {
            
            textBox1.Text = hScrollBar1.Value.ToString();//显示圆直径
            fpoint = hScrollBar1.Value;//想随时改变圆的直径
            //应该加入画图函数,该怎么加
            
            
        }

        private void panel1_Paint(object sender, PaintEventArgs e)//在Panel上画一个圆
        {
            DrawEllipseFloat(e, fpoint);

        }
        private void DrawEllipseFloat(PaintEventArgs e,float ft)//画圆函数
        {
           
            Pen blackPen = new Pen(Color.Black, 1);
            float x = 0.0F;
            float y = 0.0F;
            float width = ft;
            float height = ft;
            e.Graphics.DrawEllipse(blackPen, x, y, width, height);

        }
    }
}
以上是未完成的代码,请高手指点一下,主要就是想在鼠标拖动滚动条时,圆大小不断的变化。
在线等。。。。。
搜索更多相关主题的帖子: 滚动 
2008-09-15 20:39
ecjob
Rank: 3Rank: 3
等 级:论坛游侠
威 望:8
帖 子:321
专家分:110
注 册:2006-10-15
收藏
得分:0 
private void DrawEllipseFloat( float ft)//画圆函数
        {
            Pen blackPen = new Pen(Color.Black, 1);
            float x = 0.0F;
            float y = 0.0F;
            float width = ft;
            float height = ft;
            Graphics Gp =Graphics.FromHwnd ( panel1.Handle);
            Gp.Clear(panel1.BackColor);
            Gp.DrawEllipse(blackPen, x, y, width, height);

        }

        private void hScrollBar1_ValueChanged(object sender, EventArgs e)
        {

            DrawEllipseFloat(hScrollBar1.Value);
        }
2008-09-15 21:11
zhaozhiwei
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-7-19
收藏
得分:0 
先谢谢啊
不过还有问题
1.Gp.Clear(panel1.BackColor);这一句要不删除的话,拖动滚动条时panel1就变得全黑色了,什么也看不见
2.去掉上一句之后,虽然可以运行了,但是变化前的圆边仍然在,多次滚动以后就分不清楚了,怎样拖动才能使它只显示一个圆。
3怎样是圆心不变,只变半径?
请指点一下 谢谢

择晴日,访友欢。无限天涯各一边,亲谊心相连。品美食,游山川。闲来无事灌论坛,幸福至年年。
2008-09-15 21:34
jwhandsome521
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2008-9-4
收藏
得分:0 
~
public Form1()
        {
            InitializeComponent();
            trackBar1.Minimum = 0;
            trackBar1.Maximum = pictureBox1.Width;
        }

        private void trackBar1_Scroll(object sender, EventArgs e)
        {
            int banjing;
            banjing = trackBar1.Value;
            Pen pen = new Pen(Color.Red);
            Graphics paper;
            paper = pictureBox1.CreateGraphics();
            paper.Clear(Color.White);
            paper.DrawEllipse(pen, 0, 0, banjing, banjing);
        }
2008-09-15 21:49
ecjob
Rank: 3Rank: 3
等 级:论坛游侠
威 望:8
帖 子:321
专家分:110
注 册:2006-10-15
收藏
得分:0 
Gp.Clear(panel1.BackColor);

'意思是先把原来的场景的背景色设为跟原来的一样,也就是清除原来画的东西

  圆心不变,只变半径?   
'这个计算下..嘻嘻。。。

86年出生,广东求 女人/项目/工作 ,见广告即有效.论坛PM
2008-09-15 21:53
zhaozhiwei
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-7-19
收藏
得分:0 
那问题还没解决呀
程序该怎么修改呢?

择晴日,访友欢。无限天涯各一边,亲谊心相连。品美食,游山川。闲来无事灌论坛,幸福至年年。
2008-09-15 22:13
ecjob
Rank: 3Rank: 3
等 级:论坛游侠
威 望:8
帖 子:321
专家分:110
注 册:2006-10-15
收藏
得分:0 
嘻嘻。。乱撞撞出来了。。

       private void DrawEllipseFloat( float ft)//画圆函数
        {
            Pen blackPen = new Pen(Color.Black, 1);           
            float width = ft;
            float height = ft;
            float x = (panel1.Width  / 2) - (ft / 2);
            float y = (panel1.Height / 2) - (ft / 2);
            Graphics Gp =Graphics.FromHwnd ( panel1.Handle);
            Gp.Clear(panel1.BackColor);      
            Gp.DrawEllipse(blackPen, x, y, width, height);

        }

86年出生,广东求 女人/项目/工作 ,见广告即有效.论坛PM
2008-09-15 22:45
zhaozhiwei
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-7-19
收藏
得分:0 
谢谢啊 结题啦

择晴日,访友欢。无限天涯各一边,亲谊心相连。品美食,游山川。闲来无事灌论坛,幸福至年年。
2008-09-16 08:43
快速回复:怎么通过滚动条来控制一个圆的半径?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028227 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved