昨天发帖没解决,今天再发一次。求一算法.

问题描述

上图的方框是TextBox(60个TextBox,从第1层第01排开始:t1,t2,t3...一直到t12,第2行t13,t14...t24以此类推),点第1次为红色(值为1),点第2次为白色(值为0),第3次为红色(值为1),第4次为白色(值为0);问题描述:我这样每个TextBox都要去点1次很麻烦.比如1:我点t1,再去点t12,那么t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12全部为背景色为红色;点t1,再点t5,t1,t2,t3,t4,t5背景色为红色;比如2:点t1,再点t49(第5层的01排),那么t1,t13,t25,t37,t49全部为红色;高手们帮下小弟咯,搞定了的打开http://topic.csdn.net/u/20080623/14/3183c800-f5ea-4b94-9cc2-74f51c2de820.html发表下,再给100分啊。。

解决方案

解决方案二:
mark,下午有时间帮你搞搞
解决方案三:
引用1楼ojlovecd的回复:

mark,下午有时间帮你搞搞

谢谢,我脑瓜子弄不好算法东西。。唉
解决方案四:
有没有可能说点T1和T15这样第一行到第二行的T15都要红色的?
解决方案五:
首先明确2个问题:(1),是不是必须先点小号的,再点大号的?(2),是不是2次点击的必须要在同一行或同一列?
解决方案六:
这个应该不算很难,晚上要是有时间帮你写一下。不知道你实现的效果是不是类似于在windows资源管理器窗口中,用Shift选中文件的感觉。
解决方案七:
intiMoto;privatevoidtextbox_Click(objectsender,EventArgse)if(iMoto==0){iMoto=GetIndex(sender);returnl}if(GetIndex(sender)-1)/12=c-1/12);{把同行的变色}if(GetIndex(sender)-1)%12=c-1%12);{把同列的变色}privateintGetIndex(objectobj){//取"tXX"中的XXreturnConvert.ToInt32(((TextBox)obj).Name.SubString(1))}
解决方案八:
引用3楼zzyhuian06142的回复:

有没有可能说点T1和T15这样第一行到第二行的T15都要红色的?

另:如果t1,t2,t3是红色,那么现在点了t1,,,,t15,是不是t1,t2,t3要变白色啊?顶下先,现在没有时间,等会帮你写,感觉不难的啊。
解决方案九:
引用3楼zzyhuian06142的回复:

有没有可能说点T1和T15这样第一行到第二行的T15都要红色的?

T15是第2层的,不要红色。。
解决方案十:
引用7楼RonoTian的回复:

引用3楼zzyhuian06142的回复:有没有可能说点T1和T15这样第一行到第二行的T15都要红色的?另:如果t1,t2,t3是红色,那么现在点了t1,,,,t15,是不是t1,t2,t3要变白色啊?顶下先,现在没有时间,等会帮你写,感觉不难的啊。

如果t1,t2,t3是红色,那么现在点了t1,,,,t15,是不是t1,t2,t3要变白色啊?t1,t2,t3当然还是红色的啊。
解决方案十一:
引用3楼zzyhuian06142的回复:

有没有可能说点T1和T15这样第一行到第二行的T15都要红色的?

点t1和t15,t1,t2,t3,t13,t14,t15变红色.点t1和t60则全部为红色;
解决方案十二:
这个简单,就象做过的一个高尔夫球的打位管理一样。
解决方案十三:
实现鼠标拖拉式publicpartialclassForm1:Form{intpointX=0;intpointY=0;inttop,buttom,left,right;publicForm1(){InitializeComponent();}privatevoidForm1_MouseDown(objectsender,MouseEventArgse){pointX=e.X;pointY=e.Y;}privatevoidForm1_MouseUp(objectsender,MouseEventArgse){top=e.Y<pointY?e.Y:pointY;buttom=e.Y>pointY?e.Y:pointY;left=e.X<pointX?e.X:pointX;right=e.X>pointX?e.X:pointX;SetRed(textBox1);SetRed(textBox2);SetRed(textBox3);SetRed(textBox4);SetRed(textBox5);}privatevoidSetRed(TextBoxtb){if(tb.Top+tb.Size.Height>top&&tb.Right>left&&tb.Top<buttom&&tb.Left<right){tb.BackColor=Color.Red;}}/*privatevoidbutton1_Click(objectsender,EventArgse){textBox1.BackColor=Color.White;textBox2.BackColor=Color.White;textBox3.BackColor=Color.White;textBox4.BackColor=Color.White;textBox5.BackColor=Color.White;}*/}

做了5个textbox测试没什么问题
解决方案十四:
学习了。我再来稍微完善一下1、窗体Load中加入this.groupBox1.MouseDown+=newMouseEventHandler(Form1_MouseDown);this.groupBox1.MouseUp+=newMouseEventHandler(Form1_MouseUp);

2、//SetRed(textBox1);//SetRed(textBox2);//SetRed(textBox3);//SetRed(textBox4);//SetRed(textBox5);foreach(Controlcolinthis.groupBox1.Controls){if(col.GetType()==typeof(TextBox))SetRed((TextBox)col);}

解决方案十五:
9楼的方法确实是实现了拖拉效果,//SetRed(textBox1);//SetRed(textBox2);//SetRed(textBox3);//SetRed(textBox4);//SetRed(textBox5);必须放到按钮的点击事件里才行哦。放在MouseUp事件里好像没用。
解决方案:
s330481,你从t1拖到t3只有t1,t2,t3变红色?t4,t5不会?我拿你代码贴上去,怎么弄都是t1,t2,t3,t4,t5全变红色
解决方案:
引用15楼My_xinshou的回复:

s330481,你从t1拖到t3只有t1,t2,t3变红色?t4,t5不会?我拿你代码贴上去,怎么弄都是t1,t2,t3,t4,t5全变红色

晕,我把SetRed(textBox1);。。。。。。。。。写到鼠标点击事件里面去了
解决方案:
首先你命名的就不好,为什么要从t1一直到t60呢?这样你下面这个算法写起来多麻烦。如果我是你,我会新建一个TextBox的二维数组,TextBox[][]t=newTextBox[5][12];for(inti=0;i<5;i++)for(intj=0;j<12;j++)t[i][j]=newTextBox();//下面设置位置和点击相应参数也是用循环设定。此处略去

然后你的算法就很容易实现了嘛,比如你第一下点的是t[i1][j1],第二下点的是t[i2][j2]for(inti1=0;i<i2;i++)for(intj1=0;j<j2;j++)t[i][j].Color=Color.red;

这样不就行了,我没有编译器,所以只能说个大概思路,不能帮你调试通过了。
解决方案:
对噢,二维数组。。但是我还是不知道怎么实现。根据你的思路再想想
解决方案:
唉,我还没用过数组。
解决方案:
TextBox[][]t=newTextBox[5][12];这句话是c++的写法,C#中的写法应该是TextBox[,]t=newTextBox[5,12];
解决方案:
你所有的TextBox几乎一样,形状,大小,处理函数……除了位置是顺序变化的,我看不出不用数组的理由

时间: 2024-07-29 06:20:10

昨天发帖没解决,今天再发一次。求一算法.的相关文章

明天要交期末作业,在线等。昨天发帖没人理我.VECTOR对象如何保存到文件中啊

问题描述 我是Java初学者,请问是否可以将vector的对象直接保存到文件中和从文件中读取呢?写的是一个电话本程序,conects是一个vector对象.下面是代码的一部分,是我照着书上自己乱写的,一保存就会报异常.求大神指导.publicvoidSave(Filefile){//保存方法try{FileOutputStreamtext=newFileOutputStream(file);ObjectOutputStreamfw=newObjectOutputStream(text);fw.w

放了一周没解决的mybatis的问题,求各位大神救命啊!

问题描述 Exceptioninthread"main"org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'sqlSessionFactory'definedinclasspathresource[spring/applicationContext.xml]:Initializationofbeanfailed;nestedexceptionisjava.lang.refle

再发一帖。我就不信没有人可以解决这个问题。

问题描述 在此再发一帖.我就不信没有人可以解决这个问题.http://topic.csdn.net/u/20071114/22/ed26f2ff-42d7-4dc8-8875-b85be7c62346.html这是我的上一个帖子.还是没有解决.我知道这个问题肯定有很多朋友遇到的.希望有经验的朋友给讲一下.谢谢..很急..问题如下==========================程序中用了<uc1:top2id="Top21"runat="server">

【严重bug反馈】[rest后台发送消息成功,客户端有时会收不到消息,等下次再发消息时才收到之前发送的内容]

问题描述 rest后台发送消息成功,客户端有时会收不到消息,等下次再发消息时才收到之前发送的内容,, 求环信技术人员帮忙查看 解决方案 发的什么消息?把Request body贴出来看看.解决方案二:就是普通的REST请求,发送消息给用户.result是success解决方案三:你把body贴出来看看解决方案四:不是发送失败啊,亲们,body没问题的,而且不是必现,是他们消息系统的问题啊,你们看body有用吗?

ubuntu 64位编译hadoop-2.6.0失败,网上看了好久,都没解决,大神速来解救

问题描述 ubuntu 64位编译hadoop-2.6.0失败,网上看了好久,都没解决,大神速来解救 [exec] CMake Error at /usr/local/share/cmake-2.6/Modules/FindPackageHandleStandardArgs.cmake:52 (MESSAGE): [exec] Could NOT find ZLIB [exec] Call Stack (most recent call first): [exec] /usr/local/sha

android-昨天整整弄了一天还是没解决这个问题,非常困惑(有关SQLite的问题)

问题描述 昨天整整弄了一天还是没解决这个问题,非常困惑(有关SQLite的问题) 问题说明:我是用SQLite Expert工具建立了一个routelines.db数据库,里面建了android_metadata.route_line.user张三表.我把routeline.db文件放到Android项目的assets文件下.在代码中我先把.db问价拷贝到了指定的路径下,运行之后也确实在手机上能在相应路径下找到这个.db文件. 问题是:我在代码中查询表的数据的时候程序崩溃了,提示没有我要找的表,

双汇再发肋排烫出蛆虫事件说明:正抽样检测

6月2日,因被消费者微博曝出肋排烫出 蛆虫事件的双汇集团,在其官方网站上再发公告,对事件细节做了核实说明.公告称,目前,当地工商部门已对784号双汇连锁店内正在销售的部分冷鲜肉产品和已封存的被曝问题肋排留样产品进行了抽样,目前正在等待检测结果.据双汇发布的公告显示,被曝出现问题肋排的784号双汇连锁店,5月27日当天共销售生鲜肉产品 64.19 公斤,其中:大肋排和脊骨两种产品共 13.04 公斤.该店当日顾客流量 606 人,其中有 133 名顾客购买双汇冷鲜肉产品,除刘先生外至今未接到其他顾

电商再发力

错过了"双11"."双12"的电商狂欢之后,亚马逊将出击的目标锁定在了圣诞和元旦双节. 记者从亚马逊了解到,一场名为"Z满减"的全场促销活动正在火热进行.促销活动将覆盖服装与箱包.家居.日用品.办公用品与电器产品.图书.玩具.母婴.运动.http://www.aliyun.com/zixun/aggregation/39112.html">户外用品等多个商品品类. 不仅如此,从11月21日起,亚马逊还携手国际知名化妆品品牌法国欧莱

煤气灶没点着 再点爆炸了

昨晚6时许,沈阳市和平区砂山新村,有人忙着做饭,有人正在吃饭,还有人在楼下散步.突然"砰"的一声闷响. 一楼住户87岁的王大爷的家一个厨房窗户框飞出,碎玻璃迸裂三四米远. 煤气灶没点着 再点爆炸了 "不好了,爆炸了. "楼下居民吓得直捂脑袋.几分钟后,邻居们见没了响声,纷纷跑过去看. 王大爷从家里爬了出来,倚坐在单元门上.他的衣服被烧破,头发烧焦,脸蛋.眼皮被熏黑,裸露的皮肤均脱了皮,起了水泡,大口大口地喘气. 王大爷说,他一个人住,晚上他把菜放在锅里,打开煤气,点