新足迹

 找回密码
 注册

精华好帖回顾

· wcx0314免费片片加5年心情感悟3页已填坑 (2010-7-15) wcx0314 · (新加:豪宅装修照、遛蜥照!)在澳洲养异宠——鬃狮蜥(Bearded dragon)的饲养(多图长文) (2021-6-1) 海边小妹
· K妈这个健身小白来分享一下三个月的健身总结 (2017-5-16) kevin妈妈 · 大小便训练——Toilet Training's ups and downs (重新整理) (2009-1-20) JuliaTung
Advertisement
Advertisement
查看: 1588|回复: 9

向高手求教C# WinForm用户控件 [复制链接]

发表于 2010-10-28 10:05 |显示全部楼层
此文章由 NoChoice 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 NoChoice 所有!转贴必须注明作者、出处和本声明,并保持内容完整
想要做一个Winform的控件,想了半天也没有头绪,向各位高手求教,用过ListBox的都知道,ListBox里面绑定了些数据,当滚动到最后一个数据的时候就不能再向下滚动了,比如下面的例子,如果到了f就不能向下滚动了
            private System.Windows.Forms.ListBox listBox1;

            this.listBox1.Location = new System.Drawing.Point(80, 88);
            this.listBox1.Name = "listBox1";
            this.listBox1.Size = new System.Drawing.Size(120, 43);
            this.listBox1.TabIndex = 1;

            listBox1.Items.Add("a");
            listBox1.Items.Add("b");
            listBox1.Items.Add("c");
            listBox1.Items.Add("d");
            listBox1.Items.Add("e");
            listBox1.Items.Add("f");
我现在想做一个滚筒式的ListBox,如果滚动到f了,如果还按向下的滚动条按钮,后面又要出现头一个a,b....
可以想象listBox里面的数据是循环链表,而不是简单的Array, 同理到了第一个,如果还按向上的滚动条按钮,后面又要出现头一个f,e....
有分分加
签名不可外链
Advertisement
Advertisement

2010年度奖章获得者

发表于 2010-10-28 10:17 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
這個效果你肯定要自己相辦法做的, 或則找第三方控件看看有沒有支持者效果的。

不常見。 比較娛樂化。

自己做的話,你多半要用到scrollbar 的event。比較麻煩的,我從來沒用到過。
足迹 Reader is phenomenal. If you never used, you never lived 火速下载

发表于 2010-10-28 10:39 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
initiate: don't put all items, only add items to be viewed (let's say the user can see three items only

listBox1.Items.Add("a");
listBox1.Items.Add("b");
listBox1.Items.Add("c");

onclick (scroll)
If the user scrolls,
clear the list listBox1.clear()
then
listBox1.Items.Add("b");
listBox1.Items.Add("c");
listBox1.Items.Add("d");

.........

评分

参与人数 1积分 +2 收起 理由
NoChoice + 2 谢谢奉献

查看全部评分

发表于 2010-10-28 10:56 |显示全部楼层
此文章由 NoChoice 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 NoChoice 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 于 2010-10-28 10:39 发表
initiate: don't put all items, only add items to be viewed (let's say the user can see three items only

listBox1.Items.Add("a");
listBox1.Items.Add("b");
listBox1.Items.Add("c");

onclick (scroll)
If ...

这倒似乎是个方法,但效率好像比较低,没有更好的吗?
签名不可外链

发表于 2010-10-28 11:09 |显示全部楼层
此文章由 北风 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 北风 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这个要求太莫名其妙了

发表于 2010-10-28 11:23 |显示全部楼层
此文章由 NoChoice 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 NoChoice 所有!转贴必须注明作者、出处和本声明,并保持内容完整
没有太莫名其妙吧?iphone里面定时功能不就有点像这个吗?
我想在winform里面实现罢了

[ 本帖最后由 NoChoice 于 2010-10-28 11:25 编辑 ]
Advertisement
Advertisement

2010年度奖章获得者

发表于 2010-10-28 11:27 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 NoChoice 于 2010-10-28 11:23 发表
没有太莫名其妙吧?iphone里面定时功能不就有点像这个吗?
我想在winform里面实现罢了


你要自虐, 那別人是攔不住的。
足迹 Reader is phenomenal. If you never used, you never lived 火速下载

发表于 2010-10-28 11:44 |显示全部楼层
此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这个问题应该不大,当时用Windows api做程序的时候,LISTBOX就是用scrollbar 自己做的,你根据scrollbar 的位置和事件动态显示数据即可。

发表于 2010-10-28 16:40 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
技术上可以实现,itemIndex mod itemsNumber,但具体针对scrollbar什么event编程,就要好好研究一下,争取有好的用户体验。

发表于 2010-10-28 21:51 |显示全部楼层
此文章由 NoChoice 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 NoChoice 所有!转贴必须注明作者、出处和本声明,并保持内容完整
嗨!还是自己动手丰衣足食,结合网上的写了一个CircularListBox,如果碰巧也有人自虐,可以直接拿过去用
是UserControl,直接鼠标拖到WinForm上就可以了,其实就是ListBox

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1积分 +3 收起 理由
乱码 + 3 你太有才了

查看全部评分

签名不可外链

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部