精华内容
下载资源
问答
  • * 程序的版权和版本声明部分 * Copyright (c) 2012, ... * All rights reserved. * 作 者: 刘镇 ...* 完成日期: 2012 年 11 月 18 日 ...1)程序运行时,单击打开字体对话框按钮,可选择字体,并以所选字体作为标签字
    * 程序的版权和版本声明部分
    * Copyright (c) 2012, 烟台大学计算机学院学生
    * All rights reserved.

    * 作 者: 刘镇
    * 完成日期: 2012 年 11 月 18 日
    * 版 本 号: 3.026

    * 对任务及求解方法的描述部分

    * 问题描述:

    1)程序运行时,单击打开字体对话框按钮,可选择字体,并以所选字体作为标签字体。

    *代码部分:

     

     

     

    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;
    
    namespace Win10_5
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                fontDialog1.ShowColor = true;
                fontDialog1.ShowApply = true;
                fontDialog1.ShowDialog();
                label1.Font = fontDialog1.Font;
                label1.ForeColor = fontDialog1.Color;
            }
        }
    }
    


     

    测试结果:

     

     

     

     

     

     

    展开全文
  • 要求:在窗体上创建一个文本框组件、两个命令按钮组件,命令按钮的标题分别设置为“隐藏”和“退出”, 窗体背景色设置为“粉红”。单击“隐藏”按钮后文本框消失,该按钮标题变为“显示”,单击“显示”按钮显示出...

    仅供学习
    仅供学习
    仅供学习

    (1)编写一个程序。要求:在窗体上创建一个文本框组件、两个命令按钮组件,命令按钮的标题分别设置为“隐藏”和“退出”, 窗体背景色设置为“粉红”。单击“隐藏”按钮后文本框消失,该按钮标题变为“显示”,单击“显示”按钮显示出文本框,该按钮标题重新变为“隐藏”。单击“退出”按钮,则弹出对话框询问“你真的要退出吗?”,如果点击“是”则结束程序,否则不作任何操作。

    package Java作业;
    
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    //        编写一个程序。要求:在窗体上创建一个文本框组件、两个命令按钮组件,命令按钮的标题分别设置为“隐藏”和“退出”,
    //        窗体背景色设置为“粉红”。单击“隐藏”按钮后文本框消失,该按钮标题变为“显示”,单击“显示”按钮显示出文本框,
    //        该按钮标题重新变为“隐藏”。单击“退出”按钮,则弹出对话框询问“你真的要退出吗?”,如果点击“是”则结束程序,否则不作任何操作。
    public class dame01 {
        public static class cannian extends JFrame {
            JTextField jTextField1;
            JButton jButton1, jButton2;
            JPanel jPanel1;
            public cannian() {
                super("显示/隐藏文本框");
                jTextField1 = new JTextField(20);
                jButton1 = new JButton("隐藏");
                jButton2 = new JButton("退出");
                jPanel1 = new JPanel();
                setSize(300, 150);
                setLayout(null);
                jPanel1.add(jTextField1);
                jPanel1.add(jButton1);
                jPanel1.add(jButton2);
                jPanel1.setBackground(Color.red);
                this.add(jPanel1);
                add(jTextField1);
                add(jButton1);
                add(jButton2);
                add(jPanel1);
                jTextField1.setBounds(90,10,120,30);
                jButton1.setBounds(70,70,70,30);
                jButton2.setBounds(160,70,70,30);
                jPanel1.setBounds(0,0,300,150);
                ButtonListener a1 = new ButtonListener();
                jButton1.addActionListener(a1);
                jButton2.addActionListener(a1);
                setVisible(true);
                this.setLocationRelativeTo(null);
                this.setResizable(false);
                this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    
    
            }
    
            public class ButtonListener implements ActionListener {
                //重写ActionListener接口中的事件处理方法actionPerformed()
                public void actionPerformed(ActionEvent e) {
                    Object source = e.getSource();
                    if (source == jButton1) {
                        jTextField1.setVisible(false);
                    }
                    if (source == jButton2) {
                        int a = JOptionPane.showConfirmDialog(null, "你真的要退出吗? ", "退出 ", JOptionPane.YES_NO_OPTION);
                        if (a == JOptionPane.YES_OPTION) {
                            System.exit(0);
                        } else if (a == JOptionPane.NO_OPTION) {
                            return;
                        }
    
                    }
                }
            }
        }
    
        public static void main(String[] args) {
            new cannian();
        }
    }
    
    
    
    

    题目如下:
    在这里插入图片描述

    展开全文
  •  //之下是使用文件流将保存字节数组中数据复制到指定文件savefile  FileStream fs = new FileStream(savefile, FileMode.Create, FileAccess.Write);  fs.Write(bytes, 0, bytes.Length);  MessageBox....
    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;
    using System.IO;


    namespace WindowsFormsApplication13
    {
        public partial class Form1 : Form
        {
            byte[] bytes;//用于存放图片字节数组
            public Form1()
            {
                InitializeComponent();
            }


            private void button1_Click(object sender, EventArgs e)
            {
                this.openFileDialog1.Filter = "*.jpg|*.jpg|*.gif|*.gif";
                openFileDialog1.ShowDialog();
                string openfile = this.openFileDialog1.FileName;
                this.label1.Text = openfile;
                if (string.IsNullOrEmpty(openfile)) return;//选择取消,则返回
                this.pictureBox1.Image = Image.FromFile(openfile);
                //设置图片显示模式
                this.pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
                //之下是使用文件流将图片保存至字节数组
                FileStream fs = new FileStream(openfile, FileMode.Open, FileAccess.Read);
                bytes = new byte[fs.Length];
                fs.Read(bytes, 0, bytes.Length);
                fs.Dispose();


            }


            private void button2_Click(object sender, EventArgs e)
            {
                this.saveFileDialog1.Filter = "*.jpg|*.jpg|*.gif|*.gif";
                saveFileDialog1.ShowDialog();
                string savefile = this.saveFileDialog1.FileName;
                if (string.IsNullOrEmpty(savefile)) return;//选择取消,则返回
                if (bytes.Length == 0)
                {
                    MessageBox.Show("先选图片再复制");
                    return;
                }
                //之下是使用文件流将保存在字节数组中数据复制到指定文件savefile
                FileStream fs = new FileStream(savefile, FileMode.Create, FileAccess.Write);
                fs.Write(bytes, 0, bytes.Length);
                MessageBox.Show("图片复制成功");
                fs.Dispose();


            }
        }

    }


    展开全文
  • 使用下面的命令能够动态添加按钮控件数组: Dim Maxid As Integer Private Sub Command1_Click() ...可是,下次打开窗体时新添加的按钮就不存在了,如何下次打开窗体时动态添加的控件还在窗体上
  • 某些应用程序要求窗体...FlowLayoutPanel 控件和 TableLayoutPanel 控件为在窗体上排列控件提供了两种直观的方式。 这两控件为其中包含的子控件的相对位置提供了自动的、可配置的控制功能,并且都能运行时提供

    不用任何语句实现控件大小位置的自动排列,先上图,什么都不管了先-》

    设计器界面:



    F5运行后界面:


    参考资料来自于MSDN:

    某些应用程序要求窗体布局在窗体调整大小或其内容大小更改时能够对窗体自身进行适当地排列。 当您需要进行动态布局,但并不希望在代码中显式处理 Layout 事件时,可以考虑使用布局面板。

    FlowLayoutPanel 控件和 TableLayoutPanel 控件为在窗体上排列控件提供了两种直观的方式。 这两个控件为其中包含的子控件的相对位置提供了自动的、可配置的控制功能,并且都能在运行时提供动态布局特性,因此,在父窗体的尺寸更改时,它们能够调整子控件的大小和位置。 可在布局面板内嵌套布局面板,从而实现复杂的用户界面。

    FlowLayoutPanel 按特定流方向(水平或垂直)来排列其内容。 其内容可从一行换到下一行,或者从一列换到下一列。 另一种情况是不换行,而是将其内容截掉。 有关更多信息,请参见 演练:使用 FlowLayoutPanel 在 Windows 窗体上排列控件

    TableLayoutPanel 在网格中排列其内容,提供了类似 HTML 中 <table> 元素的功能。 TableLayoutPanel 控件允许您将控件放置于网格布局中,而无需精确指定每个单独控件的位置。 其单元格按行和列的方式排列,各行各列的尺寸可以不同。 单元格可以跨行跨列合并。 单元格可以包含窗体所能包含的任何内容,并且其行为在大多数其他方面与容器类似。

    TableLayoutPanel 控件还提供在运行时按比例调整大小的功能,因此窗体调整大小时,布局可以平滑地相应发生更改。 这使得 TableLayoutPanel 控件非常适合用于数据输入窗体和本地化的应用程序等目的。 有关更多信息,请参见演练:创建可根据数据输入需要调整大小的 Windows 窗体演练:创建可根据本地化需要调整比例的布局

    一般而言,不应将 TableLayoutPanel 控件用作整体布局的容器。 而是使用 TableLayoutPanel 控件为布局的各部分提供按比例调整大小的功能。

    本演练涉及以下任务:

    • 创建 Windows 窗体项目

    • 按行和列排列控件

    • 设置行属性和列属性

    • 控件跨行和跨列

    • 自动处理溢出

    • 通过在工具箱中双击控件来插入控件

    • 通过绘制控件轮廓来插入控件

    • 将现有控件重新分配给不同的父控件

    完成本演练后,您将对这些重要的布局功能所扮演的角色有所了解。

    说明 说明

    显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。 若要更改设置,请在“工具”菜单上选择“导入和导出设置” 有关更多信息,请参见 Visual Studio 设置

    第一步是创建项目并设置窗体。

    创建项目

    1. 创建名为“TableLayoutPanelExample”的 Windows 应用程序项目。 有关更多信息,请参见如何:创建新的 Windows 窗体应用程序项目

    2. “Windows 窗体设计器”中选择窗体。

    TableLayoutPanel 控件允许您轻松地按行和列来排列控件。

    使用 TableLayoutPanel 按行和列来排列控件

    1. “工具箱”中将一个 TableLayoutPanel 控件拖到窗体上。 注意,在默认情况下,TableLayoutPanel 控件有四个单元格。

    2. 将 Button 控件从“工具箱”拖到 TableLayoutPanel 控件的其中一个单元格中。 注意,将在选定的单元格中创建 Button 控件。

    3. 再将三个 Button 控件从“工具箱”拖到 TableLayoutPanel 控件中,这样,每个单元格中都包含一个按钮。

    4. 抓住两列之间的垂直尺寸调整手柄,并向左移动。 注意,第一列中的 Button 控件的大小将调整为较小的宽度,而第二列中的 Button 控件的大小将保持不变。

    5. 抓住两列之间的垂直尺寸调整手柄,并向右移动。 注意,第一列中的 Button 控件将恢复原始大小,而第二列中的 Button 控件将向右移动。

    6. 上下移动水平尺寸柄以查看它对面板中的控件的影响。

    TableLayoutPanel 中子控件的锚定行为与其他容器控件中的行为不同。 子控件的停靠行为则与其他容器控件的相同。

    在单元格内定位控件

    1. 选择第一个 Button 控件。 将其 Dock 属性的值更改为 Fill 注意,Button 控件将扩展以填充单元格。

    2. 请选择其他 Button 控件之一。 将其 Anchor 属性的值更改为 Right 注意,它就会被移动,使其右边框靠近单元格的右边框。 边框之间的间距是 Button 控件的 Margin 属性和面板的 Padding 属性之和。

    3. 将 Button 控件的 Anchor 属性的值更改为 Right 和 Left。 注意,控件的大小会调整为单元格的宽度,并会考虑 Margin 和 Padding 值。

    4. 对 Top 和 Bottom 样式重复第 2 步和第 3 步。

    可以使用 RowStyles 和 ColumnStyles 集合分别设置行属性和列属性。

    设置行属性和列属性

    1. “Windows 窗体设计器”中选择 TableLayoutPanel 控件。

    2. “属性”窗口,通过单击“列”项旁边的省略号 () 按钮,打开 ColumnStyles 集合。

    3. 选择第一列并将其 SizeType 属性的值更改为 AutoSize。 单击“确定”接受更改。 注意,第一列的宽度会缩小,以适合 Button 控件。 另外请注意,该列的宽度的不是大小可调的。

    4. “属性”窗口中打开 ColumnStyles 集合并选择第一列。 将其 SizeType 属性的值更改为 Percent 单击“确定”接受更改。 将 TableLayoutPanel 控件的大小调整为较大的宽度。注意,第一列的宽度将扩展。 TableLayoutPanel 控件的大小调整为较小的宽度。注意,第一列中的按钮将调整大小,以适合单元格。 另外请注意,该列的宽度是大小可调的。

    5. “属性”窗口中打开 ColumnStyles 集合并选择列出的所有列。 将每个 SizeType 属性的值设置为 Percent 单击“确定”接受更改。 对 RowStyles 集合重复上一过程。

    6. 抓住角大小调整手柄之一,调整 TableLayoutPanel 控件的宽度和高度的大小。 注意,当 TableLayoutPanel 控件的大小更改时,行和列的大小也会调整。 另外请注意,行和列的大小可以通过水平和垂直大小调整手柄进行调整。

    TableLayoutPanel 控件在设计时为控件添加了几个新属性。 其中两个属性就是 RowSpan 和 ColumnSpan 可以使用这些属性使控件跨多个行或多个列。

    控件跨行和跨列

    1. 选择第一行第一列中的 Button 控件。

    2. “属性”窗口中将 ColumnSpan 属性的值更改为 2。 注意,Button 控件填充第一列和第二列。 还请注意,已为适应此更改额外添加了一行。

    3. 对 RowSpan 属性重复第 2 步。

    可通过在“工具箱”中双击控件来填充 TableLayoutPanel 控件。

    通过在工具箱中双击来插入控件

    1. “工具箱”中将一个 TableLayoutPanel 控件拖到窗体上。

    2. 双击“工具箱”中的 Button 控件图标。 请注意,一个新的按钮控件会出现在 TableLayoutPanel 控件的第一个单元格中。

    3. “工具箱”中双击更多控件。 注意,在 TableLayoutPanel 控件的未填充单元格中将连续出现几个新控件。 另外请注意,如果没有空的单元格可用,TableLayoutPanel 控件将扩展以容纳新的控件。

    在向 TableLayoutPanel 控件中插入控件时,可能会用完空的单元格,而无法插入新的控件。 TableLayoutPanel 控件会通过增加单元格数目来自动处理这种情况。

    观察溢出的自动处理

    1. 如果 TableLayoutPanel 控件中还有空的单元格,请继续插入新的 Button 控件,直至填满 TableLayoutPanel 控件。

    2. 填满 TableLayoutPanel 控件以后,在“工具箱”中双击 Button 图标,插入另一个 Button 控件。 注意,TableLayoutPanel 控件将创建新的单元格以容纳新的控件。 再插入几个控件并观察调整大小的行为。

    3. 将 TableLayoutPanel 控件的 GrowStyle 属性的值更改为 FixedSize。 “工具箱”中双击 Button 图标,插入 Button 控件,直至填满 TableLayoutPanel 控件。 “工具箱”上再次双击 Button 图标。 注意,您将从“Windows 窗体设计器”收到一条错误信息,通知您无法创建附加的行和列。

    可以通过在单元格中绘制控件轮廓来在 TableLayoutPanel 控件中插入一个控件,并指定其大小。

    通过绘制控件轮廓来插入控件

    1. “工具箱”中将一个 TableLayoutPanel 控件拖到窗体上。

    2. “工具箱”中单击 Button 控件图标。 不要将其拖到窗体上。

    3. 将鼠标指针移到 TableLayoutPanel 控件上方。 请留意附加了 Button 控件图标的鼠标会变为十字线。

    4. 单击并按住鼠标按钮。

    5. 拖动鼠标指针绘制 Button 控件的轮廓。 对大小感到满意后松开鼠标按钮。 注意,在您绘制控件轮廓的单元格内将创建一个 Button 控件。

    TableLayoutPanel 控件在每个单元格中只能包含一个子控件。

    演示在单元格内不允许有多个控件

    TableLayoutPanel 允许您交换占用两个不同单元格的控件。

    交换控件

    • 将 Button 控件之一从一个占用的单元格拖到另一个占用的单元格中。 注意,这两个控件将从一个单元格移动到另一个单元格中。

    可以使用布局面板和控件的组合来实现复杂布局。 建议研究的其他方面包括:

    • 请尝试将 Button 控件之一的大小调整为较大尺寸,并注意它对布局的影响。

    • 将选定的多个控件粘贴到 TableLayoutPanel 控件中并注意这些控件是如何插入的。

    • 布局面板可以包含其他布局面板。 请试着将一个 TableLayoutPanel 控件拖到现有控件中。

    • 将 TableLayoutPanel 控件停靠到父窗体上。 调整窗体大小并注意这对布局的影响。



    某些应用程序要求窗体布局在窗体调整大小或其内容大小更改时能够对窗体自身进行适当地排列。 当您需要进行动态布局,但并不希望在代码中显式处理 Layout 事件时,可以考虑使用布局面板。

    FlowLayoutPanel 控件和 TableLayoutPanel 控件为在窗体上排列控件提供了两种直观的方式。 这两个控件为其中包含的子控件的相对位置提供了自动的、可配置的控制功能,并且都能在运行时提供动态布局特性,因此,在父窗体的尺寸更改时,它们能够调整子控件的大小和位置。 可在布局面板内嵌套布局面板,从而实现复杂的用户界面。

    FlowLayoutPanel 按特定流方向(水平或垂直)来排列其内容。 其内容可从一行换到下一行,或者从一列换到下一列。 另一种情况是不换行,而是将其内容截掉。 有关更多信息,请参见 演练:使用 FlowLayoutPanel 在 Windows 窗体上排列控件

    TableLayoutPanel 在网格中排列其内容,提供了类似 HTML 中 <table> 元素的功能。 TableLayoutPanel 控件允许您将控件放置于网格布局中,而无需精确指定每个单独控件的位置。 其单元格按行和列的方式排列,各行各列的尺寸可以不同。 单元格可以跨行跨列合并。 单元格可以包含窗体所能包含的任何内容,并且其行为在大多数其他方面与容器类似。

    TableLayoutPanel 控件还提供在运行时按比例调整大小的功能,因此窗体调整大小时,布局可以平滑地相应发生更改。 这使得 TableLayoutPanel 控件非常适合用于数据输入窗体和本地化的应用程序等目的。 有关更多信息,请参见演练:创建可根据数据输入需要调整大小的 Windows 窗体演练:创建可根据本地化需要调整比例的布局

    一般而言,不应将 TableLayoutPanel 控件用作整体布局的容器。 而是使用 TableLayoutPanel 控件为布局的各部分提供按比例调整大小的功能。

    本演练涉及以下任务:

    • 创建 Windows 窗体项目

    • 按行和列排列控件

    • 设置行属性和列属性

    • 控件跨行和跨列

    • 自动处理溢出

    • 通过在工具箱中双击控件来插入控件

    • 通过绘制控件轮廓来插入控件

    • 将现有控件重新分配给不同的父控件

    完成本演练后,您将对这些重要的布局功能所扮演的角色有所了解。

    说明 说明

    显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。 若要更改设置,请在“工具”菜单上选择“导入和导出设置” 有关更多信息,请参见 Visual Studio 设置

    第一步是创建项目并设置窗体。

    创建项目

    1. 创建名为“TableLayoutPanelExample”的 Windows 应用程序项目。 有关更多信息,请参见如何:创建新的 Windows 窗体应用程序项目

    2. “Windows 窗体设计器”中选择窗体。

    TableLayoutPanel 控件允许您轻松地按行和列来排列控件。

    使用 TableLayoutPanel 按行和列来排列控件

    1. “工具箱”中将一个 TableLayoutPanel 控件拖到窗体上。 注意,在默认情况下,TableLayoutPanel 控件有四个单元格。

    2. 将 Button 控件从“工具箱”拖到 TableLayoutPanel 控件的其中一个单元格中。 注意,将在选定的单元格中创建 Button 控件。

    3. 再将三个 Button 控件从“工具箱”拖到 TableLayoutPanel 控件中,这样,每个单元格中都包含一个按钮。

    4. 抓住两列之间的垂直尺寸调整手柄,并向左移动。 注意,第一列中的 Button 控件的大小将调整为较小的宽度,而第二列中的 Button 控件的大小将保持不变。

    5. 抓住两列之间的垂直尺寸调整手柄,并向右移动。 注意,第一列中的 Button 控件将恢复原始大小,而第二列中的 Button 控件将向右移动。

    6. 上下移动水平尺寸柄以查看它对面板中的控件的影响。

    TableLayoutPanel 中子控件的锚定行为与其他容器控件中的行为不同。 子控件的停靠行为则与其他容器控件的相同。

    在单元格内定位控件

    1. 选择第一个 Button 控件。 将其 Dock 属性的值更改为 Fill 注意,Button 控件将扩展以填充单元格。

    2. 请选择其他 Button 控件之一。 将其 Anchor 属性的值更改为 Right 注意,它就会被移动,使其右边框靠近单元格的右边框。 边框之间的间距是 Button 控件的 Margin 属性和面板的 Padding 属性之和。

    3. 将 Button 控件的 Anchor 属性的值更改为 Right 和 Left。 注意,控件的大小会调整为单元格的宽度,并会考虑 Margin 和 Padding 值。

    4. 对 Top 和 Bottom 样式重复第 2 步和第 3 步。

    可以使用 RowStyles 和 ColumnStyles 集合分别设置行属性和列属性。

    设置行属性和列属性

    1. “Windows 窗体设计器”中选择 TableLayoutPanel 控件。

    2. “属性”窗口,通过单击“列”项旁边的省略号 () 按钮,打开 ColumnStyles 集合。

    3. 选择第一列并将其 SizeType 属性的值更改为 AutoSize。 单击“确定”接受更改。 注意,第一列的宽度会缩小,以适合 Button 控件。 另外请注意,该列的宽度的不是大小可调的。

    4. “属性”窗口中打开 ColumnStyles 集合并选择第一列。 将其 SizeType 属性的值更改为 Percent 单击“确定”接受更改。 将 TableLayoutPanel 控件的大小调整为较大的宽度。注意,第一列的宽度将扩展。 TableLayoutPanel 控件的大小调整为较小的宽度。注意,第一列中的按钮将调整大小,以适合单元格。 另外请注意,该列的宽度是大小可调的。

    5. “属性”窗口中打开 ColumnStyles 集合并选择列出的所有列。 将每个 SizeType 属性的值设置为 Percent 单击“确定”接受更改。 对 RowStyles 集合重复上一过程。

    6. 抓住角大小调整手柄之一,调整 TableLayoutPanel 控件的宽度和高度的大小。 注意,当 TableLayoutPanel 控件的大小更改时,行和列的大小也会调整。 另外请注意,行和列的大小可以通过水平和垂直大小调整手柄进行调整。

    TableLayoutPanel 控件在设计时为控件添加了几个新属性。 其中两个属性就是 RowSpan 和 ColumnSpan 可以使用这些属性使控件跨多个行或多个列。

    控件跨行和跨列

    1. 选择第一行第一列中的 Button 控件。

    2. “属性”窗口中将 ColumnSpan 属性的值更改为 2。 注意,Button 控件填充第一列和第二列。 还请注意,已为适应此更改额外添加了一行。

    3. 对 RowSpan 属性重复第 2 步。

    可通过在“工具箱”中双击控件来填充 TableLayoutPanel 控件。

    通过在工具箱中双击来插入控件

    1. “工具箱”中将一个 TableLayoutPanel 控件拖到窗体上。

    2. 双击“工具箱”中的 Button 控件图标。 请注意,一个新的按钮控件会出现在 TableLayoutPanel 控件的第一个单元格中。

    3. “工具箱”中双击更多控件。 注意,在 TableLayoutPanel 控件的未填充单元格中将连续出现几个新控件。 另外请注意,如果没有空的单元格可用,TableLayoutPanel 控件将扩展以容纳新的控件。

    在向 TableLayoutPanel 控件中插入控件时,可能会用完空的单元格,而无法插入新的控件。 TableLayoutPanel 控件会通过增加单元格数目来自动处理这种情况。

    观察溢出的自动处理

    1. 如果 TableLayoutPanel 控件中还有空的单元格,请继续插入新的 Button 控件,直至填满 TableLayoutPanel 控件。

    2. 填满 TableLayoutPanel 控件以后,在“工具箱”中双击 Button 图标,插入另一个 Button 控件。 注意,TableLayoutPanel 控件将创建新的单元格以容纳新的控件。 再插入几个控件并观察调整大小的行为。

    3. 将 TableLayoutPanel 控件的 GrowStyle 属性的值更改为 FixedSize。 “工具箱”中双击 Button 图标,插入 Button 控件,直至填满 TableLayoutPanel 控件。 “工具箱”上再次双击 Button 图标。 注意,您将从“Windows 窗体设计器”收到一条错误信息,通知您无法创建附加的行和列。

    可以通过在单元格中绘制控件轮廓来在 TableLayoutPanel 控件中插入一个控件,并指定其大小。

    通过绘制控件轮廓来插入控件

    1. “工具箱”中将一个 TableLayoutPanel 控件拖到窗体上。

    2. “工具箱”中单击 Button 控件图标。 不要将其拖到窗体上。

    3. 将鼠标指针移到 TableLayoutPanel 控件上方。 请留意附加了 Button 控件图标的鼠标会变为十字线。

    4. 单击并按住鼠标按钮。

    5. 拖动鼠标指针绘制 Button 控件的轮廓。 对大小感到满意后松开鼠标按钮。 注意,在您绘制控件轮廓的单元格内将创建一个 Button 控件。

    TableLayoutPanel 控件在每个单元格中只能包含一个子控件。

    演示在单元格内不允许有多个控件

    TableLayoutPanel 允许您交换占用两个不同单元格的控件。

    交换控件

    • 将 Button 控件之一从一个占用的单元格拖到另一个占用的单元格中。 注意,这两个控件将从一个单元格移动到另一个单元格中。

    可以使用布局面板和控件的组合来实现复杂布局。 建议研究的其他方面包括:

    • 请尝试将 Button 控件之一的大小调整为较大尺寸,并注意它对布局的影响。

    • 将选定的多个控件粘贴到 TableLayoutPanel 控件中并注意这些控件是如何插入的。

    • 布局面板可以包含其他布局面板。 请试着将一个 TableLayoutPanel 控件拖到现有控件中。

    • 将 TableLayoutPanel 控件停靠到父窗体上。 调整窗体大小并注意这对布局的影响。

    展开全文
  • 将数据表窗体修改为连续窗体

    千次阅读 2018-02-10 22:34:46
    将数据表窗体修改为连续窗体步骤2:添加记录号与行记录删除按钮步骤3:临时表添加2字段,修改1字段并在窗体中添加相关控件步骤4: 窗体页脚添加合计项步骤5:窗体页脚添加2功能按钮将数据表窗体修改...
  • Windows 窗体

    2019-09-29 14:05:14
    窗体可以是标准窗体,多文档界面(MDI)窗体,对话框或图形化的显示界面。窗体是对象,这些对象公开定义其外观的属性、其行为的方法、用于用户交互的事件。通过设置窗体的属性以及编写响应其事件的代码,可自定义该...
  • 示例Demo2_1用PyQt5的一些类创建了一个简单的GUI应用程序,窗体窗体上的标签对象的创建和属性设置都完全由代码完成。显然这种纯代码方式构造UI的方式是比较麻烦的,特别是在窗体上组件比较多、层次比较复杂的时候...
  • 网摘》窗体、子窗体

    千次阅读 2014-01-31 22:49:19
    VB6 MDI窗体 控件 其实Picture做为MDI窗体最佳容器...2.MDI窗体上方画一个Picture1,因为Picture的Align默认是停靠顶部的;  3.设置Picture1的Align属性为2,停靠底部;  4.再在窗体上方画一个Picture2,设置Al
  • 如果在窗体上放置一个文本输入框,放置一个按钮,并将按钮default属性设置为True,那么文本输入框获是焦点时输入Enter键,回车,自动相当于点击按钮一个窗口只能有一个默认按钮。 这样按回车就不会结束进程了。...
  • 用户窗体编程基础

    千次阅读 2007-01-27 07:53:00
    概述当使用MsgBox函数和InputBox函数不能满足与用户交互的需求时,您能使用用户窗体来自定义对话框。您能使用用户窗体来...您Windows对话框中所看到的大多数控件都能用户窗体中实现——命令按钮,选项按钮,复选
  • 下面这段程序实现了MP3播放的大部分常规操作,对其稍加修改,做一个100KB大小的MP3播放器轻而易举启动VB程序,在窗体上放置6个命令按钮,三标签,一个公用对话框、一个进度条、一个状态栏和一个计时器,窗本的布置...
  • 26.2.1 添加窗体

    2009-12-21 13:19:00
    26.2.1 添加窗体Glade提供了10种窗体构件供用户选择,这些都是GTK+中所预定义的。...图26.2 顶层选项卡选项卡中每一个按钮对应着窗体构件,这些按钮的名称依次为:1.通用窗体构件通用窗体构件即gtk_window_ne
  • winform窗体控件

    2020-04-22 13:56:25
    1、窗体(Form) 2、Label (标签)控件 3、TextBox(文本框)控件 4、RichTextBox控件 5、NumericUpDown控件 6、Button(按钮)控件 7、GroupBox(分组框)控件 8、RadioButton(单选按钮)控件 9、CheckBox...
  • VB6之中,窗体是应用程序的重要组成部分,一个窗体对应一个窗口。程序设计阶段,窗体是程序员的“工作台”,程序员在窗体上建立应用程序界面,运行程序时,窗体是用户与计算机的交互界面。 窗体是VB中一类重要...
  • 示例Demo2_1用PyQt5的一些类创建了一个简单的GUI应用程序,窗体窗体上的标签对象的创建和属性设置都完全由代码完成。显然这种纯代码方式构造UI的方式是比较麻烦的,特别是在窗体上组件比较多、层次比较复杂的时候...
  • 窗体去边框后移动

    2018-12-30 11:25:47
    窗体的FormBorderStyle属性为None时,可以使用鼠标移动窗体。   1.介绍 属性 FormBorderStyle   获取或设置窗体的边框样式 None 无边框。 FixedSingle 固定的单行边框。 ...
  • 使用Toplevel做一个可以弹出的窗口。
  • VB讲课笔记06:窗体与常用控件

    千次阅读 2018-03-10 17:24:29
    VB讲课笔记06:窗体与...一个窗体对应一个代码模块。 1、窗体设计分类 (1)单窗体设计:应用程序中只包含一个窗体,即单文档窗体。 (2)多重窗体设计:应用程序中包含多个窗体,即多单文档窗体。 (3)多...
  • 窗体及菜单

    2016-09-22 15:28:00
    1、哪个是主窗体 问题:主窗体隐藏了,关闭其它窗体后,...1、构造函数传值,将窗体传到另一个窗体中去 子窗体中的写法 public partial class Form2 : Form { Form1 F1 = null; public Form2(Form1 f1) { Init...
  • 常见的窗体通常是各种方形的对话框,如前面实例中...图中所示的哆拉A梦即为一个不规则窗体,实例不规则窗体中绘制了作为窗体形状的PNG图片,也可不规则窗体上放置按钮等控件,可以通过鼠标左键拖动窗体,鼠标右键
  • 2、在窗体中的单选按钮一般情况下只能一个被选中,如果要同时选中多时要使用_______控件进行分组。进行“分组”时必须选放置__________控件,然后其中拖放__________控件。3、复选框的重要属性Value其数据是__...
  • 枚举窗体

    千次阅读 2009-07-30 13:50:00
     // 设置为 FALSE 会将关闭按钮放置在选项卡区域的右侧  mdiTabParams.m_bTabIcons = FALSE; // 设置为 TRUE 将 MDI 选项卡启用文档图标  mdiTabParams.m_bAutoColor = TRUE; // 设置为 FALSE 将禁用 MDI ...
  • Windows窗体与控件

    万次阅读 2016-05-11 11:20:39
    学习下Window的窗体与控件,UI,我的IDE是VS2012,通过学习这些基本控件,如果以后要用到别的控件,就能够较快上手。...它实质块白板,通过添加控件可以创建用户界面,并通过代码来操作数据,填充这白板。
  • 按钮窗体设计时常用的控件,打开窗体后,单击工具栏选中按钮控件,然后设计窗口中单击左键,拖动一定大小区域就可以放置一个按钮了。如图所示:我们放置一个Command1。 在按钮上单击左键可以选中该按钮,...
  • 一个简单的MP3播放器

    千次阅读 2004-06-14 17:23:00
    下面这段程序实现了MP3播放的大部分常规操作,对其稍加修改,做一个100KB大小的MP3播放器轻而易举 启动VB程序,在窗体上放置6个命令按钮,三标签,一个公用对话框、一个进度条、一个状态栏和一个计时器,窗本的...
  • 前言 前篇文章讲了利用Arduino mega2560来设计上下位机串口通信系统的下位机,这章则要讲如何设计上位机界面软件,...创建窗体应用程序 首先打开VS2013,选择工具栏中的"文件"->“新建”->“项目”-&g...
  • WPF 窗体设置

    2012-05-25 11:45:00
    WPF 当窗体最大化时控件位置的大小调整: View Code 1 <Window x:Class="WpfApplication1.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x=...
  • 对于经常使用Delphi的用户,下面的讲解可能有点太初级,即便如此也最好浏览一下,这样可以发现以前并不知道的东西或重新回忆起已遗忘...Form Designer能设置窗体本身的大小和位置、增加菜单、建立专用对话框——建立...

空空如也

空空如也

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

在窗体上放置一个命令按钮