如题 Form1 里面动态创建了N个 label 和N个panel 希望在运行的时候 当鼠标移动到控件上的时候 此控件显示 自己的name 多谢赐教!

解决方案 »

  1.   

    很简单的,在onmousemove事件中判断,好像得用for each 循环来判断,你在网上搜搜应该有很多这样的文章,便利控件问题!
    希望对你有所帮助!
      

  2.   


    var
      i : integer;
    begin
      For i:=0 to ComponentCount -1 Do
        if Components[i] is TControl then
        begin
          (Components[i] as TControl).ShowHint:= true;
          (Components[i] as TControl).Hint:= (Components[i] as TControl).Name;
        end;
    end;
    结帖吧
      

  3.   

    最简单的就是在生成控件的时候将控件的名字赋值给控件的hint,然后将showhint设置为true
      

  4.   


    procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
    Label1.Hint:=Label1.Name;
    Label1.ShowHint:=true;
    end;
    如上,可实现你要的效果!