精华内容
下载资源
问答
  • 内容索引:VB源码,界面编程,标题栏按钮 在窗体标题放置/添加按钮的一个VB实例,有时候我们需要标题栏放置按钮,就得有些软件就有这种功能,好像千千静听有过这种功能,在窗体最小化的时候这种功能的重要性尤为...
  • 窗体动态添加按钮

    2012-09-30 08:58:24
    窗体动态添加按钮窗体集合中添加按钮,即让窗体中显示按钮
  • 主要介绍了VC实现给窗体的一个按钮添加事件的方法,通过三个简单步骤实现窗体按钮添加事件,需要的朋友可以参考下
  • 一个支持事件响应 保存 读取的VC 动态控件应用示例,可以在窗体上动态添加文本框、标签及按钮控件,可以循环的添加下去,每点击一次添加按钮,就会动态添加一个控件对象,如演示截图所示的运行窗口,动态控件可被...
  • VB在窗体标题栏中添加自定义按钮,类似最大化,最小化按钮一样,美化一下,看不出是用户添加按钮,当然,本例是只是简单的进行了美化。
  • 这是一个在窗体标题栏添加自定义按钮的组件(TTitleBarButton)开发实例,标题栏按钮组件TTitleBarButton以TComponent为直接继承对象,它是一个可以在窗体标题栏显示按钮的组件,像最大化、最小化和关闭按钮等。...

    这是一个在窗体标题栏添加自定义按钮的组件(TTitleBarButton)开发实例,标题栏按钮组件TTitleBarButton以TComponent为直接继承对象,它是一个可以在窗体标题栏上显示按钮的组件,像最大化、最小化和关闭按钮等。

    1、首先确定组件的属性。

    属性是组件的重要组成部分,它相当于组件的门面,因为一旦一个组件被置于窗体中时,用户必然想到去设置组件的各种属性,编写各种事件的处理过程。TTitleBarButton有以下属性:

    Color:用来决定按钮表面的颜色。
    Glyph:用来决定按钮表面的图片。
    PopupMenu:用来决定右键单击按钮时的弹出菜单。
    RightMargin:用来确定按钮的位置,以窗体右边界为基准。
    Visible:用来决定按钮是否可见。

    2、确定组件的方法。

    方法是组件的基本构成部分之一,在编写方法时,尽量减少方法间的依赖关系,并确定方法的可见度,以及是否为虚函数等。在本例中,主要方法如下:

    function GetBoundsRect: TRect;   用来确定按钮的边界矩形,可见度为private
    procedure NewWndProc(var message: TMessage);  窗体的新的窗口过程,private
    procedure Paint; virtual; 该类的继承者可以override该方法,但用户不能直接调该方法
    procedure Repaint; 是Paint方法的对外接口,用户可以调用此方法,以强制重新画按钮

    3、确定组件的事件。

    事件实际上是一种特殊的属性,它也是组件的很重要组成部分,事件为组件响应系统发生的行为而执行的一段代码连接。事件就是方法指针,是方法的触发器。TtitleBarButton只有一个事件:
    OnClick事件,用来响应用户的Click事件代码。
     
    4、另外,要减少组件的依赖关系。

    使一个组件在执行其代码时所受的约束尽可能地少,这是开发组件的一个主要目标,它也是衡量一个组件性能好坏的重要标准之一。 

    实现标题栏按钮需要解决以下主要问题:
    (1)  如何确定按钮的边界,即Left,Top,Width,Height
    通过GetWindowRect来取得窗体的边界矩形,通过GetSystemMetrics取得窗体的框架宽度和标题栏按钮的高度、宽度。再加上RightMargin属性就可以基本上确定按钮的边界了。

    (2)  如何画按钮的外观(包括按下和凸起)

    通过GetWindowDC来取得窗体DC(包括标题栏、菜单、滚动条等),我们就可以在这个DC上画按钮了。

    (3)  如何让按钮响应消息(比如Click,单击右键弹出菜单等)

    我们可以通过GetWindowLong取得窗体的窗口过程,然后把我们新定义的窗口过程通过SetWindowLong给这个窗体,然后我们在自己的窗口过程中来让按钮响应消息。

    全部代码如下:

    unit TitleBarButton;

    interface

    uses

       Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Menus, Dialogs;

    type

      TTitleBarButton = class(TComponent)

      private
        FColor: TColor;
        FGlyph: TBitmap;
        FForm: TCustomForm;
        FOldWndProc: Pointer;
        FButtonDown: Boolean;
        FVisible: Boolean;
        FRightMargin: Cardinal;
        FPopup: TPopupMenu;
        FOnClick: TNotifyEvent;
        procedure SetGlyph(const Value: TBitmap);
        procedure SetVisible(const Value: Boolean);
        procedure SetRightMargin(const Value: Cardinal);
        function GetBoundsRect: TRect;
        procedure NewWndProc(var message: TMessage);

      protected
        procedure Notification(Component: TComponent;Operation: TOperation); override;
        procedure Paint; virtual;

      public
        constructor Create(AOwner: TComponent); override;
        destructor Destroy; override;
        procedure Repaint;
        property BoundsRect: TRect read GetBoundsRect;

      published
        property Color: TColor read FColor write FColor default clBtnFace;
        property Glyph: TBitmap read FGlyph write SetGlyph;
        property PopupMenu: TPopupMenu read FPopup write FPopup;
        property RightMargin: Cardinal read FRightMargin write SetRightMargin default 100;
        property Visible: Boolean read FVisible write SetVisible default False;
        property OnClick: TNotifyEvent read FOnClick write FOnClick;

      end;

    procedure Register;

    implementation

    procedure Register;

    begin
      RegisterComponents('Sample', [TTitleBarButton]);
    end;

    { TTitleBarButton }

    constructor TTitleBarButton.Create(AOwner: TComponent);
    var
      ptr: Pointer;
    begin
      inherited;
      FForm := GetParentForm(TControl(AOwner));
      FGlyph := TBitmap.Create;
      FColor := clBtnFace;
      FVisible := False;
      FRightMargin := 100;
      FButtonDown := False;
      FOldWndProc := Pointer(GetWindowLong(FForm.Handle,GWL_WNDPROC));
      ptr := MakeObjectInstance(NewWndProc);
      SetWindowLong(FForm.Handle, GWL_WNDPROC, Longint(ptr));
    end;

    destructor TTitleBarButton.Destroy;
    begin
      if not (csDestroying in FForm.ComponentState) then
      begin
        SetVisible(false);
        SetWindowLong(FForm.Handle, GWL_WNDPROC, LongInt(FOldWndProc));
      end;
      FGlyph.Free;
      inherited;
    end;

    procedure TTitleBarButton.NewWndProc(var message: TMessage);
      function HitButton(APoint: TPoint): Boolean;
      begin
        APoint.x := APoint.x - FForm.Left;
        APoint.y := APoint.y - FForm.Top;
        Result := PtInRect(BoundsRect,APoint);
      end;
    var
      p: TPoint;
    begin
      with message do
      begin
        if Visible then
        begin
          case Msg of
            WM_NCPAINT , WM_NCACTIVATE :
              begin
                Result := CallWindowProc(FOldWndProc,FForm.Handle,Msg,WParam,LParam);
                RePaint;
              end;
            WM_NCHITTEST :
              begin
                Result := CallWindowProc(FOldWndProc,FForm.Handle,Msg,WParam,LParam);
                if Result = HTCAPTION then
                begin
                  RePaint;
                  p.x := LoWord(LParam);
                  ScreenToClient(FForm.Handle,p);
                  with BoundsRect do                  //减去框架宽度
                    if (p.x >= Left-4) and (p.x <= Right-4) then Result := 888;
                end;
              end;
            WM_NCLBUTTONDOWN,WM_NCLBUTTONDBLCLK:
              begin
                Result := CallWindowProc(FOldWndProc,FForm.Handle,Msg,WParam,LParam);
                with TWMNCLButtonDown(message) do
                  if not HitButton(Point(XCursor, YCursor)) then Exit;
                if WParam = 888 then
                begin
                  FButtonDown := True;
                  Repaint;
                  SetCapture(FForm.Handle);
                end;
              end;
            WM_NCRBUTTONDOWN,WM_NCRBUTTONDBLCLK:
              begin
                if WParam = 888 then
                begin
                  if Assigned(FPopup) then
                  begin
                    p.x := FForm.Left + BoundsRect.Left;
                    p.y := FForm.Top + BoundsRect.Bottom;
                    FPopup.Popup(p.x,p.y);
                  end;
                end
                else
                  Result:=CallWindowProc(FOldWndProc,FForm.Handle,Msg,WParam,LParam);
              end;
            WM_NCLBUTTONUP,WM_LBUTTONUP :
              begin
                if FButtonDown then
                begin
                  FButtonDown := False;
                  RePaint;
                  ReleaseCapture;
                  if Assigned(FOnClick) then FOnClick(self);
                end
                else
                  Result:=CallWindowProc(FOldWndProc,FForm.Handle,Msg,WParam,LParam);
              end;
            else
              Result := CallWindowProc(FOldWndProc,FForm.Handle,Msg,WParam,LParam);
          end;
        end
        else
          Result := CallWindowProc(FOldWndProc,FForm.Handle,Msg,WParam,LParam);
      end;
    end;

    procedure TTitleBarButton.SetGlyph(const Value: TBitmap);
    begin
      FGlyph.Assign(Value);
      SendMessage(FForm.Handle,WM_NCACTIVATE,0,0);
    end;

    procedure TTitleBarButton.SetRightMargin(const Value: Cardinal);
    begin
      FRightMargin := Value;
      SendMessage(FForm.Handle,WM_NCACTIVATE,0,0);
    end;

    procedure TTitleBarButton.SetVisible(const Value: Boolean);
    begin
      FVisible := Value;
      SendMessage(FForm.Handle,WM_NCACTIVATE,0,0);
    end;

    procedure TTitleBarButton.Notification(Component: TComponent;
      Operation: TOperation);
    begin
      inherited;
      if (Operation = opRemove) and (Component = FPopup) then
        FPopup := nil;
    end;

    function TTitleBarButton.GetBoundsRect: TRect;
    var
      Rec: TRect;
      FrameThick: Integer; //窗体框架厚度
      BtnWidth,BtnHeight: Integer; //标题栏按钮的宽度和高度
    begin
      GetWindowRect(FForm.Handle,Rec); //得到窗体边界矩形,相对于屏幕左上角
      with Result do
      begin
        FrameThick := GetSystemMetrics(SM_CYFRAME);
        Left := (Rec.Right - Rec.Left) - RightMargin - FrameThick;
        Top := FrameThick;
        if FForm.Borderstyle in [bsSizeToolWin, bsSizeable] then
        begin
          Dec(Left, 2); Inc(Top, 2);
        end
        else begin
          Dec(Left); Inc(Top);
        end;
        if (FForm.Borderstyle in [bsSizeToolWin,bsToolWindow]) then
        begin
          BtnWidth := GetSystemMetrics(SM_CXSMSIZE) - 2;
          BtnHeight := GetSystemMetrics(SM_CYSMSIZE) - 4;
        end
        else begin
          BtnWidth := GetSystemMetrics(SM_CXSIZE) - 2;
          BtnHeight := GetSystemMetrics(SM_CYSIZE) - 4;
        end;
        Right := Left + BtnWidth;
        Bottom := Top + BtnHeight;
      end;
    end;

    procedure TTitleBarButton.Paint;
    var
      GlyphRect: TRect;
    begin
      if not FVisible then Exit;
      with TCanvas.Create do
      begin
        try
          Handle := GetWindowDC(FForm.Handle); //得到窗体DC,包括标题栏、菜单、滚动条等
          Brush.Color := FColor;         //画Button凸起和按下时的外观
          if FButtonDown then
            Pen.Color := clBtnHighlight
          else
            Pen.Color := cl3DDkShadow;
          Rectangle(BoundsRect);
          with BoundsRect do
          begin
            if FButtonDown then
              Pen.Color := cl3DDkShadow
            else
              Pen.Color := clBtnHighLight;
            MoveTo(Left,Bottom-2);
            LineTo(Left,Top);
            LineTo(Right-1,Top);
            Pen.Color := clGray;
            if FButtonDown then
            begin
              MoveTo(Left+1,Bottom-3);
              LineTo(Left+1,Top+1);
              LineTo(Right-2,Top+1);
            end
            else begin
              MoveTo(Left+1,Bottom-2);
              LineTo(Right-2,Bottom-2);
              LineTo(Right-2,Top);
            end;
          end;

          if Assigned(Glyph) then      //如果关联了图片,则画图片
          begin
            GlyphRect := BoundsRect;
            GlyphRect.Right := GlyphRect.Right - 7;
            GlyphRect.Bottom := GlyphRect.Bottom - 5;
            if FButtonDown then
              OffsetRect(GlyphRect,4,3)
            else
              OffsetRect(GlyphRect,3,2);
            with GlyphRect do
              StretchBlt(Handle, Left, Top, Right-Left, Bottom-Top,
                FGlyph.Canvas.Handle, 0, 0, FGlyph.Width, FGlyph.Height, srcCopy);
          end;
        finally
          ReleaseDC(FForm.Handle,Handle);
          Free;
        end;
      end;
    end;

    procedure TTitleBarButton.Repaint;
    begin
      Paint;
    end;

    end.

    展开全文
  • C#170在窗体标题栏中添加帮助按钮 源代码
  • Python创建窗体,Python添加按钮,Python添加输入框

    千次阅读 多人点赞 2021-03-16 16:17:37
    win1.title('MY main')#添加窗体名称 win1.geometry('670x470')#设置窗体大小 win1.mainloop()#执行窗体 4.弹出一个对话框 import tkinter as tk from tkinter import messagebox#需要引用messagebox win1=tk.Tk()...

    1.需要安装的包tkinterx

    在这里插入图片描述

    2.需要引用的库

    import tkinter as tk
    

    3.创建一个窗体

    win1=tk.Tk()#常见窗口对象
    win1.title('MY main')#添加窗体名称
    win1.geometry('670x470')#设置窗体大小
    win1.mainloop()#执行窗体
    

    在这里插入图片描述

    4.弹出一个对话框

    import tkinter as tk
    from tkinter import messagebox#需要引用messagebox
    win1=tk.Tk()
    messagebox.showinfo("窗体名","Python")
    

    在这里插入图片描述

    如果只需要一个对话框,我们可以使用withdraw()方法隐藏主窗体

    #此方法可以在多个窗体切换时使用
    win1.withdraw()#隐藏窗体
    win1.deiconify()#显示窗体
    

    5.添加Button按钮

    import tkinter as tk
    from tkinter import *
    from tkinter import messagebox
    
    win1=tk.Tk()
    win1.title('MY main')#添加窗体名称
    win1.geometry('670x470')#设置窗体大小
    
    def msgbox():
        messagebox.showinfo("窗体名", "Python")
    Button(win1, text="按钮1").pack()#添加第一个按钮
    Button(win1, text="弹出对话框", command=msgbox).pack()#添加第二个按钮
    
    win1.mainloop()
    
    

    在这里插入图片描述

    详细参数请查阅官网(Button)
    链接: 直通车

    6.添加输入框(Entry)

    import tkinter as tk
    from tkinter import *
    
    win1=tk.Tk()
    win1.title('MY main')#添加窗体名称
    win1.geometry('670x470')#设置窗体大小
    
    Entry(win1, show='*').pack()#添加输入框,show='*'为输密码时显示*号。
    
    win1.mainloop()
    
    

    在这里插入图片描述

    详细参数请查阅官网(Entry)
    链接: 直通车

    6.1Entry输出

    import tkinter
    def msgbox():
        print(xVariable.get())
        
    win = tkinter.Tk()
    win.title("标题")  # #窗口标题
    win.geometry("500x500")
    xVariable = tkinter.StringVar()  # #设定一个字符串类型的变量
    tkinter.Entry(win, textvariable=xVariable).pack()
    tkinter.Button(win,text='按钮', command=msgbox).pack()
    win.mainloop()
    

    7.Spinbox使用

    import tkinter
    def xFunc():
        print(xVariable.get())
    
    win = tkinter.Tk()
    win.title("Kahn Software v1")  # #窗口标题
    win.geometry("500x500+200+20")
    '''
    此功能可以做出比如游戏里的购物数量加减。
    from_=0, 开始值为0
    to=100  结束值设定为100
    increment=10 设定步长为10,默认为1。
    values=(0, 2, 4, 6, 8, 21, 37, 36)  可以设定值是固定的哪些,用了这玩意就不能用from_ to了
    '''
    xVariable = tkinter.StringVar()  # #设定一个字符串类型的变量
    
    # #创建scale滚动条
    sb = tkinter.Spinbox(win, from_=0, to=100, increment=1, textvariable=xVariable, command=xFunc)
    # sb = tkinter.Spinbox(win, values=(0, 2, 4, 6, 8, 21, 37, 36))  # #值写死
    sb.pack()
    # xVariable.set(18)            # #赋值
    # result = xVariable.get(xVariable)    # #取值
    # print(result)
    
    win.mainloop()  # #窗口持久化
    
    

    在这里插入图片描述

    展开全文
  • 用Load方法在窗体上添加一个文本程序(VB6.0代码编写) 用Load方法在窗体上添加一个文本 QQ223857666勾月
  • 内容索引:VC/C++源码,界面编程,窗体,图标 VC++在窗体工具栏添加带文本和图标的按钮,也就是类似Windows记事本一样的按钮,虽然简单,但挺实用,VC新手一定要看一下,窗体菜单及按钮的布局是学习VC窗体的一些基本...
  • 在窗体标题栏中添加帮助按钮,C#源代码this.HelpButton = true; VisualStudio2008创建
  • private void btnOk_Click(object sender, ...//定义btnOK按钮的Click事件 { Student a = new Student(); //用Student类定义变量a,并初始化 a.no = Convert.ToInt32(txtStuID.Text); a.name = txtName.Text;
    在windows窗体中添加窗体控件
    
    然后在源代码视图中编辑如下代码
    using System;
    using System.Windows.Forms;
    namespace TestInterface
    {
        public partial class TestInterface : Form //定义TestInterface类
        {
            interface IStudent    //声明接口IStudent
            {
                string Answer();
            }
            class Student : IStudent  //定义类Student,以实现接口IStudent所声明的Answer方法
            {
                public int no;
                public string name;
                public string Answer()
                {
                    string result = "该学生信息如下:";
                    result += "\n学号:" + no;
                    result += "\n姓名:" + name;
                    return result;
                }
            }
    private void btnOk_Click(object sender, EventArgs e)
    //定义btnOK按钮的Click事件
            {
                Student a = new Student();    
                //用Student类定义变量a,并初始化
                a.no = Convert.ToInt32(txtStuID.Text);
                a.name = txtName.Text;
                lblShow.Text = a.Answer();
            }
        }
    }


    展开全文
  • 尝试了多次,此记录一下,如果有什么不对或者更好的方案,还请大家赐教。 代码如下: import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import ja

    有时候我们会用到动态添加组件的情况。可以根据人们需要的组件以及组件个数来动态添加。

    尝试了多次,在此记录一下,如果有什么不对或者更好的方案,还请大家赐教。

    代码如下:

    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    
    public class Test4 extends JFrame{
    	JTextField text;		// 文本框(要输入单行文本的区域)
    	JPanel panel1,panel2;	// 两个面板,panel1是窗体北部的面板,窗体其他部分为panel2面板
    	
    	JButton button;	// 一个按钮,当按下此按钮时,响应MyEvent事件
    	
    	public Test4(){
    		this.setBounds(300,200,400,300);	// 设置窗体大小
    		this.setLayout(new BorderLayout());	// 设置窗体的布局方式
    				
    		text = new JTextField(15);		// 新建文本框
    		button = new JButton("添加");	// 新建按钮
    		
    		// 新建面板
    		panel1 = new JPanel();
    		panel2 = new JPanel();
    			
    		// 在panel1中添加text文本框和button按钮
    		panel1.add(text);
    		panel1.add(button);
    		
    		// 在窗体中添加panel1和panel2两个面板,并且设置panel1位于窗体北部
    		this.add(panel1,BorderLayout.NORTH);
    		this.add(panel2);
    		
    		this.setVisible(true);		// 显示窗体
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		// 设置窗体可关闭
    	}
    	
    	public void MyEvent(){
    		button.addActionListener(new ActionListener(){
    
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				// TODO Auto-generated method stub
    				String str = text.getText();
    //				System.out.println(str);
    				JButton test = new JButton(str);
    				
    				// 在面板panel2中动态添加按钮
    				panel2.add(test);
    				
    				// 重绘面板(重要重要重要)
    				panel2.revalidate();
    				
    			/* 以下方式重绘面板均不可取
    			 * 	panel2.paintImmediately(panel2.getX(), panel2.getY(), panel2.getWidth(), panel2.getHeight());
    				panel2.repaint();
    			 */
    			}
    			
    		});
    	}
    	// 主函数
    	public static void main(String[] args){
    		new Test4();
    	}
    }
    
    显示结果:

    只是,我这个代码有点儿问题,它添加了之后,只能在此次打开的窗口显示添加的内容,当重新打开窗口的时候,以前添加的组件都不见了。

    暂时还没有找到解决办法。不过现在再考虑用表格添加组件,试试看能不能解决这一问题。

    展开全文
  • Win32编程---在窗体添加一个按钮

    千次阅读 2012-10-04 15:36:20
    //1.找到回调函数WindProcedure,有些书是WndProc //2.定义一个HWND hwndButton //3.switch(Msg)下的case WM_CREATE: 添加如下代码 hwndButton=CreateWindow(TEXT(... TEXT("anniu"),//按钮上显示的字符
  • VC窗体上的关闭按钮失效

    千次阅读 2012-01-18 13:23:34
    关键字: VC窗体上的关闭按钮失效,VC窗体上的关闭按钮重载,VC窗体上的关闭按钮变灰 先使关闭按钮变灰失效 方法一: int CXXXFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)里添加代码 CMenu* pSysMenu=...
  • (1)、首先sheet中添加一个按钮,来显示用户窗体,查看效果 Private Sub CommandButton1_Click() UserForm1.Show End Sub 鼠标单击CommandButton1出现如下窗口,这是未对窗口进行任何代码编写的效果。 (2)、...
  • (1)创建窗体对象(2)创建按钮对象(3)把按钮添加窗体(4)窗体显示 2.编写程序思路: 窗体布局:窗体中组件的排列方式 布局分类如下: package cn.itcast_04; import java.awt.Button; import ...
  • winform窗体中listview内动态添加button按钮类似驾校考试系统
  • 在窗体上双击任意位置创建文本框控件,并要求文本框中显示序号,在窗体上右键单击,鼠标点击位置创建ComboBox,并要求为每个ComboBox自动添加选项
  • * C:把按钮添加窗体 * D:窗体显示 */ public class FrameDemo { public static void main(String[] args) { // 创建窗体对象 Frame f = new Frame("按钮功能"); // 设置属性大小 f.setBounds(400,...
  • 在窗体标题上添加按钮的VB实例 vb源代码,在窗体的标题上添加按钮的例子
  • 主要为大家详细介绍了WPF实现窗体中的悬浮按钮,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;...namespac
  • dotnetbar添加按钮在窗体中显示

    千次阅读 2013-06-03 11:15:21
    引用: DevComponents.DotNetBar2.dll  DevComponents.DotNetBar.Design.dll DevComponents.Instrumentation.Design.dll 后即可
  • QT 圆形窗体,圆形按钮

    千次阅读 2018-04-12 17:44:04
    QT 圆形窗体,圆形按钮 ...1、在窗体上画一个圆形(如果添加上点击等事件,这个圆形就相当于一个控件——圆形PushButton) 2、无边框 3、窗体透明化,窗体上的控件不透明 4、实现无边框拖动 代码打包:链接: htt...
  • C#Windows窗体回车键触发登录按钮

    万次阅读 2016-08-18 15:55:12
    使用窗口的Form.AcceptButton 属性,把窗口AcceptButton 属性设置成登录按钮,当用户输入回车时,就会执行登录按钮相应事件。
  • 给windows窗体程序增加按钮按键提示音效果?关于窗体按钮声音效果的添加是怎么做?
  • c# winform 窗体上回车触发按钮事件

    千次阅读 2012-04-23 20:05:32
    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace demo11 ... pub

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 75,802
精华内容 30,320
关键字:

在窗体上添加登录按钮