C#怎么让控件上下左右移动?(转)

http://wenwen.sogou.com/z/q231436494.htm

在winform中捕获上下左右键等控制键的按键事件(转)

http://blog.csdn.net/jiankunking/article/details/47320439

C#中 根据左右上下键控制不多个控件的焦点(转)

如图  有多个控件 根据上下左右键 控制每个控件的焦点;

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

//定义一个二位数组  存放TextBox控件
        TextBox[,] arr;

private void Form1_Load(object sender, EventArgs e)
        {
            //初始化数组
            arr = new TextBox[3, 3]{{textBox1,textBox2,textBox3},
               {textBox4,textBox5,textBox6},
               {textBox7,textBox8,textBox9}
            };

}

/// <summary>
        /// 窗体键盘事件   注: 启用此事件之前 先设置KeyPreView属性为True
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            //首先获取当前焦点的控件
            TextBox txt = (TextBox)GetFocusedControl();

//获取当前焦点控件的在数组中对应的位置  此值事先存放在控件的Tag属性中
            int x = int.Parse(txt.Tag.ToString().Substring(0, 1));
            int y = int.Parse(txt.Tag.ToString().Substring(1, 1));

if (e.KeyCode == Keys.Left)
            {
                if (y > 0)
                {
                    arr[x, y-1].Focus();
                }
            }
            else if (e.KeyCode == Keys.Right)
            {
                if (y < 2)
                {
                    arr[x,y + 1].Focus();
                }
            }
            else if (e.KeyCode == Keys.Up)
            {
                if (x > 0)
                {
                    arr[x-1, y].Focus();
                }
            }
            else if (e.KeyCode == Keys.Down)
            {
                if (x < 2)
                {
                    arr[x+1, y].Focus();
                }
            }
        }

// DLL调用注册
        [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Winapi)]
        private static extern IntPtr GetFocus();
        /// <summary>
        /// 当前拥有焦点的控件
        /// </summary>
        /// <param name="formControl"></param>
        /// <returns></returns>
        public static Control GetFocusedControl()
        {
            Control focusedControl = null;
            try
            {
                IntPtr focusedHandle = GetFocus();

if (focusedHandle != IntPtr.Zero)
                {
                    focusedControl = Control.FromChildHandle(focusedHandle);
                }
            }
            catch { }

return focusedControl;
        }
    }

C# Winform 自适应大小 按上下键切换控件焦点(转)

按上下键切换控件焦点(只对textbox有效)

private void textBox2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 40 || e.KeyValue == 13)
{
SendKeys.Send("{TAB}");
}
if (e.KeyValue == 38)
{
int index= this.textBox2.TabIndex;
for (int i = 0; i < this.Controls.Count; i++)
{
if (this.Controls[i].TabIndex == (index - 1))
{
this.Controls[i].Focus();
break;
}
}
}
}

自适应大小

private void Form1_SizeChanged(object sender, EventArgs e)
{ if (this.WindowState.ToString() == "Maximized")
{
this.dataGridView1.Width = this.Size.Width-35;
}
else if (this.WindowState.ToString() == "Normal")
{
this.dataGridView1.Width = this.Size.Width-35;
}
else
{
this.dataGridView1.Width = this.Size.Width-35;
}
}

C#关于控件的上下左右移动的更多相关文章

  1. Android学习笔记(九)——布局和控件的自定义

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! View是 Android中一种最基本的 UI组件,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件 ...

  2. (8)UI(控件)

    1.按钮:   按钮是游戏中最常用的控件类型之一,控制用户点击事件的开关,有正常.按下.禁用三种状态,您可以为他们设置样式及文本.   使用场景   按钮的使用十分普遍,以官方示例中的主场景示例为例, ...

  3. WindowsForm 公共控件 菜单和工具栏

                                                      公共控件   菜单栏 状态栏   布局    公共控件 textbox:  text属性:用于获取或 ...

  4. Android 控件的显示隐藏上下左右移动动画

    一.利用Android提供的左右移动工具类:AnimationUtils 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 LinearLayout ll_fi ...

  5. Android开发之基本控件和详解四种布局方式

    Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...

  6. 记录下UIButton的图文妙用和子控件的优先显示

    UIButton的用处特别多,这里只记录下把按钮应用在图文显示的场景,和需要把图片作为按钮的背景图片显示场景: 另外记录下在父控件的子控件优先显示方法(控件置于最前面和置于最后面). 先上效果图: 1 ...

  7. [iOS]技巧集锦:UITableView自定义Cell中的控件无法完全对齐Cell的左边界和右边界

    这是个很诡异的问题,由于一些特殊需求,我的TableView的Cell的背景色是透明,其中的控件会有背景色,第一个控件和最后一个控件我都用IB自动设了约束,对齐Cell的左边界和右边界,但是自动约束很 ...

  8. FineUI(专业版)v3.2.0 发布(ASP.NET UI控件库)!

    +2016-08-20 v3.2.0 +表格增强. +表格列RenderField增加属性ClientHtmlEncode,用于在客户端进行HTML编码. -增加示例:单元格编辑->杂项-> ...

  9. ASP中Lable控件的定位问题

    问题:Lable控件的定位问题:找了好久都没找到可以将Lable控件定位的办法,网上说可以将修改position这个属性来实现定位,可是我始终没找到这个属性. (1)首先,在源代码中添加 style ...

随机推荐

  1. 注解:【有连接表的】Hibernate单向1->1关联

    Person与Address关联:单向1->1,[有连接表的] (使用较少!) Person.java package org.crazyit.app.domain; import javax. ...

  2. Linux学习笔记(6)Linux常用命令之帮助命令与用户管理命令

    (1)man man命令用于获得命令或配置文件的帮助信息,英文原意为manual,所在路径为/usr/bin/man,其语法格式为: man [命令或配置文件] 注意:查看配置文件的帮助信息时无需绝对 ...

  3. 【项目经验】--EasyUI DataGrid之右键菜单

    前两天验收项目,老总提了一个不是需求的需求,为什么这么说呢?因为我们的管理不到位!话说当天,我们UI系统下发了一个总文件,上面写着"各个系统找一个没有添加UI的模块去添加最新版本UI进行测试 ...

  4. java中static作用详解

    static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何 ...

  5. android如何实现文件按时间先后顺序排列显示

    <span style="font-size:18px;">File[] files =parentFile.listFiles(fileFilter);//通过fil ...

  6. 改变图片尺寸(python)

    for name in /图片路径; do convert -resize 256x256! $name $namedone

  7. PHP入门 - - 06-->HTML的表格标签

    表格标签<table> <table>的属性: Align: left, center, right          (表格的)位置 Border:              ...

  8. Hdu2544 最短路径 四种方法

    Problem Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要 ...

  9. Codeforces Round #356 (Div. 2)-A

    A. Bear and Five Cards 题目链接:http://codeforces.com/contest/680/problem/A A little bear Limak plays a ...

  10. I Hate It(线段树基础)

    Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...