怎么样改变控件的位置
3个回答
展开全部
控件的位置是由Location属性决定的
Location存的是两个属性 分别代表控件距离窗体左边(left)与顶端(top)的距离
你想改变控件位置 也就是说要改变Location的值
比如你有个控件是 TextBox1
那么 TextBox1.Left += 1;就表示将控件向右移动1 就是距离左边的距离加了1
反之就是向右
同样 TextBox1.Top += 1;就代表向下 反之就是向上
如果你想直接指定空间位置 就可以 TextBox1.Location = new Point(横坐标,纵坐标);
参数是两个整形 分别代表Left和Top
怎么样 现在是不是自己很简单就可以做出控件移动的事件了?
不明白百度HI我 我在线
-----------------------------------------------------------
针对你HI我的问题在此补充
如果想使用键盘事件作如下动作
首先在Form的属性中 将 KeyPerview属性设置为true默认为false
然后在Form事件列表中 找到KeyDown事件
然后双击右边的空白 在自动生成的事件代码里写上以下
代码
if (e.KeyCode == Keys.D)//右移
textBox1.Left += 1;
if (e.KeyCode == Keys.A)//左
textBox1.Left -= 1;
if (e.KeyCode == Keys.S)//下
textBox1.Top += 1;
if (e.KeyCode == Keys.W)//上
textBox1.Left -= 1;
你问的是怎么获得你按键的 原理是这样的
你双击Form的KeyDown事件时候
在Form1.Designer.cs文件中会自动生成这么一句话
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form2_KeyDown);
功能就是 当Form1中有键盘按下动作时 会去调用你写的KeyDown方法
方法里写的就是实现改变位置的代码 你明白了不?
Location存的是两个属性 分别代表控件距离窗体左边(left)与顶端(top)的距离
你想改变控件位置 也就是说要改变Location的值
比如你有个控件是 TextBox1
那么 TextBox1.Left += 1;就表示将控件向右移动1 就是距离左边的距离加了1
反之就是向右
同样 TextBox1.Top += 1;就代表向下 反之就是向上
如果你想直接指定空间位置 就可以 TextBox1.Location = new Point(横坐标,纵坐标);
参数是两个整形 分别代表Left和Top
怎么样 现在是不是自己很简单就可以做出控件移动的事件了?
不明白百度HI我 我在线
-----------------------------------------------------------
针对你HI我的问题在此补充
如果想使用键盘事件作如下动作
首先在Form的属性中 将 KeyPerview属性设置为true默认为false
然后在Form事件列表中 找到KeyDown事件
然后双击右边的空白 在自动生成的事件代码里写上以下
代码
if (e.KeyCode == Keys.D)//右移
textBox1.Left += 1;
if (e.KeyCode == Keys.A)//左
textBox1.Left -= 1;
if (e.KeyCode == Keys.S)//下
textBox1.Top += 1;
if (e.KeyCode == Keys.W)//上
textBox1.Left -= 1;
你问的是怎么获得你按键的 原理是这样的
你双击Form的KeyDown事件时候
在Form1.Designer.cs文件中会自动生成这么一句话
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form2_KeyDown);
功能就是 当Form1中有键盘按下动作时 会去调用你写的KeyDown方法
方法里写的就是实现改变位置的代码 你明白了不?
参考资料: 自己写的.
展开全部
这个虽然没搞过,但我想可以这样应该可行(基于JS)
在移动前,你的先写一个控件移动函数
function 移动(方向,距离,控件ID){
用开关语句,应该不复杂,但需要先获得当前控件的原位置
...
}
1,需要用JS来捕获当前界面获得焦点的控件,参考代码如下
<html>
<head>
<script language="javascript">
function f()
{
if(event.srcElement.name)
{
alert(event.srcElement.name);
}
}
</script>
</head>
<body>
<form name=form1>
<input type=text name="txtDream" onMouseOver="f()">
<input type="submit" name="subDream" onMouseOver="f()">
</form>
</body>
</html>
来源:http://blog.csdn.net/itfly8/archive/2007/03/17/1532219.aspx
2,捕获当前的键盘事件,下面代码获得键值,运行于IE下
<script language="javascript">
ie4 = (document.all) ? true : false;
ns4 = (document.layers) ? true : false;
function keyDown(e){
if (ns4){
var nKey=e.which;
document.keyform.keytext.value="键值是"+nKey;
}
if (ie4){
var ieKey=event.keyCode;
document.keyform.keytext.value="键值是"+ieKey;
}
}
document.onkeydown=keyDown;
if (ns4) document.captureEvents(Event.KEYDOWN);
</script>
<form name="keyform"> <input type="text" name="keytext" value="注意这里" size="20"> </form>
来源:http://hi.baidu.com/wwzg999/blog/item/4a84754ea5d38ac8d0c86a39.html
3,再用JS判断当前的焦点控件是否是你要控制的那个控件,在判断键值,如果是WASD这几个的键值,则通过事先写好的控件位置移动函数执行即可
在移动前,你的先写一个控件移动函数
function 移动(方向,距离,控件ID){
用开关语句,应该不复杂,但需要先获得当前控件的原位置
...
}
1,需要用JS来捕获当前界面获得焦点的控件,参考代码如下
<html>
<head>
<script language="javascript">
function f()
{
if(event.srcElement.name)
{
alert(event.srcElement.name);
}
}
</script>
</head>
<body>
<form name=form1>
<input type=text name="txtDream" onMouseOver="f()">
<input type="submit" name="subDream" onMouseOver="f()">
</form>
</body>
</html>
来源:http://blog.csdn.net/itfly8/archive/2007/03/17/1532219.aspx
2,捕获当前的键盘事件,下面代码获得键值,运行于IE下
<script language="javascript">
ie4 = (document.all) ? true : false;
ns4 = (document.layers) ? true : false;
function keyDown(e){
if (ns4){
var nKey=e.which;
document.keyform.keytext.value="键值是"+nKey;
}
if (ie4){
var ieKey=event.keyCode;
document.keyform.keytext.value="键值是"+ieKey;
}
}
document.onkeydown=keyDown;
if (ns4) document.captureEvents(Event.KEYDOWN);
</script>
<form name="keyform"> <input type="text" name="keytext" value="注意这里" size="20"> </form>
来源:http://hi.baidu.com/wwzg999/blog/item/4a84754ea5d38ac8d0c86a39.html
3,再用JS判断当前的焦点控件是否是你要控制的那个控件,在判断键值,如果是WASD这几个的键值,则通过事先写好的控件位置移动函数执行即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把Form.KeyPreview改成true
假设移动一个button,修改Form KeyDown事件
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.W:
button1.Top -= 1;
break;
case Keys.S:
button1.Top += 1;
break;
case Keys.A:
button1.Left -= 1;
break;
case Keys.D:
button1.Left += 1;
break;
}
}
假设移动一个button,修改Form KeyDown事件
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.W:
button1.Top -= 1;
break;
case Keys.S:
button1.Top += 1;
break;
case Keys.A:
button1.Left -= 1;
break;
case Keys.D:
button1.Left += 1;
break;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询