C# tablelayoutpanel 鼠标事件求思路

C# tablelayoutpanel 鼠标事件求思路,第1张

我没有看明白“当鼠标进入某个单元格时”,你再说一下。但是获得相应的label的文字的话,很简单。
你是在一个panel中,重点就在于遍历这个panel控件中的子空间,也就是你的label。
string s1; //用来演示获得label的文本
foreach(Control item in tablelayoutpanelControls) //遍历容器tablelayoutpanel所有的控件
{
if(item is Label)
{
Label lb = item as Label; //类型转换Control——Label
s1 = lbText;
}
}
按照这个思路做吧。

public void LoadAllControl(ControlControlCollection ctls)
{
foreach (Control con in ctls)
{
ConsolWriteLine(conName);
if(conControlsCount>0) LoadAllControl(conControls);
}
}
//调用
LoadAllControl(thiscontrols);

这个不清楚了,现在不弄C#了,没有VS编辑器,我的C#就是半调子。推荐你预到类似的问题可以去MSDN上查一下,MSDN可比我现在用的javascript上的文档全太多了……上面会全部列出所有的属性和使用方法,最主要的它还是中文的……

要了解他的父容器,或者了解他得某一个特性。

简单举例我在窗体中找一个Panel控件,我只知道他的背景颜色是ColorRed,现在要把他的颜色改成黑色,也不知道他到底放在几个panel里面,就要用到下面语句:

void ViewCtl(Control ctl)
{
    if(ctl is Panel)
    {
        if(ctlBackColor==ColorRed)
        {
            ctlBackColor=ColorBlack;
        }
    }
}
void ViewForm(Control ctl)
{
    if(ctlControlsCount>0)//如果他里面有控件
    {
        foreach(Control ctl in ctlControls)//遍历窗体所有控件
        {
            ViewCtl(ctl); //进行 *** 作
        }
        ViewForm(ctl);  //循环事件
    }
    else
    {
        break; //当循环到实在没有控件可找的时候停止
    }
}

如上,ViewForm就是在找到背景为红色的panel,把他染成黑色。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13352642.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-20
下一篇 2023-07-20

发表评论

登录后才能评论

评论列表(0条)

保存