c# listbox控件利用Sendmessage使滚动条向下
usingSystem.Runtime.InteropServices;[DllImport("User32.dll")]privatestaticexternInt32...
using System.Runtime.InteropServices;
[DllImport("User32.dll")]
private static extern Int32 SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
public const int WM_VSCROLL = 0x0115;
public const int SB_LINEDOWN = 1;
public const int SB_PAGEDOWN = 3;
public const int SB_BOTTOM = 7;
public System.Web.UI.WebControls.ListBox listBox1;
private void button1_Click(object sender, EventArgs e)
{
var listBox1 = new ListBox();
SendMessage(listBox1.Handle, WM_VSCROLL, SB_LINEDOWN, 0);
}
在SendMessage里面的Handle说没有定义,怎么办?
按Light Black说的注释之后就说listBox1不存在,把listBox1换成ListBox1就说Handle没有定义
这个是可以调用的,不知道把这句var listBox1 = new ListBox();换成什么就没有问题了,我昨晚完成过,但错手删除了,想找回昨晚的网页就怎么找也找不到了
我只是想把ListBox的滚动条置底,而不用SelectIndex,因为选中状态很难看
网站是web程序么?
按yaoshanpl说的做,出现了全部页面的控件都没有定义的情况,请问是用WinForm做的代码么?
如果只取其中的代码,还是出现原来的问题,handle没有定义
按yaoshanpl说的做, 还是不行
页面已经有ListBox1还是不行,我是用timer刷新Listbox的
高手啊,要帮帮小弟啊!!
解决问题加绝对加分!!! 展开
[DllImport("User32.dll")]
private static extern Int32 SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
public const int WM_VSCROLL = 0x0115;
public const int SB_LINEDOWN = 1;
public const int SB_PAGEDOWN = 3;
public const int SB_BOTTOM = 7;
public System.Web.UI.WebControls.ListBox listBox1;
private void button1_Click(object sender, EventArgs e)
{
var listBox1 = new ListBox();
SendMessage(listBox1.Handle, WM_VSCROLL, SB_LINEDOWN, 0);
}
在SendMessage里面的Handle说没有定义,怎么办?
按Light Black说的注释之后就说listBox1不存在,把listBox1换成ListBox1就说Handle没有定义
这个是可以调用的,不知道把这句var listBox1 = new ListBox();换成什么就没有问题了,我昨晚完成过,但错手删除了,想找回昨晚的网页就怎么找也找不到了
我只是想把ListBox的滚动条置底,而不用SelectIndex,因为选中状态很难看
网站是web程序么?
按yaoshanpl说的做,出现了全部页面的控件都没有定义的情况,请问是用WinForm做的代码么?
如果只取其中的代码,还是出现原来的问题,handle没有定义
按yaoshanpl说的做, 还是不行
页面已经有ListBox1还是不行,我是用timer刷新Listbox的
高手啊,要帮帮小弟啊!!
解决问题加绝对加分!!! 展开
3个回答
展开全部
System.Web.UI.WebControls.ListBox
是web控件
SendMessage 只针对 Winform下控件可用
你是Winform程序还是 web程序
Web程序不能用API来操作
---------------------- asp.net 实现 -------------------------------
<asp:ListBox ID="ListBox1" runat="server">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
<asp:ListItem>8</asp:ListItem>
<asp:ListItem>9</asp:ListItem>
</asp:ListBox>
<script type="text/javascript">
window.onload = function()
{
var sl= document.getElementById('<%=this.ListBox1.ClientID %>');
sl.scrollTop=sl.scrollHeight;
}
</script>
--------------------------------------------
你查msdn System.Web.UI.WebControls.ListBox 控件没有Handle属性的
------------ winForm 实现 -------------------
在窗体上添加 ListBox 控件
using System.Runtime.InteropServices;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
[DllImport("User32.dll")]
private static extern Int32 SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
public const int WM_VSCROLL = 0x0115;
public const int SB_LINEDOWN = 1;
public const int SB_PAGEDOWN = 3;
public const int SB_BOTTOM = 7;
private void button1_Click(object sender, EventArgs e)
{
SendMessage(this.listBox1.Handle, WM_VSCROLL, SB_BOTTOM, 0);
}
代码如上
//
-----------------晕哦 -------------
第一个 在新的页面上 复制进去就可以了
不需要任何代码
第二个是 winForm 程序 部分代码
---------------------------------------
【老大 请不要用 winForm 的方式来做web 程序。。。。】
是web控件
SendMessage 只针对 Winform下控件可用
你是Winform程序还是 web程序
Web程序不能用API来操作
---------------------- asp.net 实现 -------------------------------
<asp:ListBox ID="ListBox1" runat="server">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
<asp:ListItem>8</asp:ListItem>
<asp:ListItem>9</asp:ListItem>
</asp:ListBox>
<script type="text/javascript">
window.onload = function()
{
var sl= document.getElementById('<%=this.ListBox1.ClientID %>');
sl.scrollTop=sl.scrollHeight;
}
</script>
--------------------------------------------
你查msdn System.Web.UI.WebControls.ListBox 控件没有Handle属性的
------------ winForm 实现 -------------------
在窗体上添加 ListBox 控件
using System.Runtime.InteropServices;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
[DllImport("User32.dll")]
private static extern Int32 SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
public const int WM_VSCROLL = 0x0115;
public const int SB_LINEDOWN = 1;
public const int SB_PAGEDOWN = 3;
public const int SB_BOTTOM = 7;
private void button1_Click(object sender, EventArgs e)
{
SendMessage(this.listBox1.Handle, WM_VSCROLL, SB_BOTTOM, 0);
}
代码如上
//
-----------------晕哦 -------------
第一个 在新的页面上 复制进去就可以了
不需要任何代码
第二个是 winForm 程序 部分代码
---------------------------------------
【老大 请不要用 winForm 的方式来做web 程序。。。。】
展开全部
在窗口中先添加一个ListBox。
[DllImport("User32.dll")]
private static extern Int32 SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
public const int WM_VSCROLL = 0x0115;
public const int SB_LINEDOWN = 1;
public const int SB_PAGEDOWN = 3;
public const int SB_BOTTOM = 7;
//public System.Web.UI.WebControls.ListBox listBox1;
private void button1_Click(object sender, EventArgs e)
{
// var listBox1 = new ListBox();
SendMessage(listBox1.Handle, WM_VSCROLL, SB_LINEDOWN, 0);
}
--------------------
我的意思是你先在窗口中添加一个ListBox 然后再在事件中使用。
----------------
你的是Web程序啊?怪不得...
[DllImport("User32.dll")]
private static extern Int32 SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
public const int WM_VSCROLL = 0x0115;
public const int SB_LINEDOWN = 1;
public const int SB_PAGEDOWN = 3;
public const int SB_BOTTOM = 7;
//public System.Web.UI.WebControls.ListBox listBox1;
private void button1_Click(object sender, EventArgs e)
{
// var listBox1 = new ListBox();
SendMessage(listBox1.Handle, WM_VSCROLL, SB_LINEDOWN, 0);
}
--------------------
我的意思是你先在窗口中添加一个ListBox 然后再在事件中使用。
----------------
你的是Web程序啊?怪不得...
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
System.Web.UI.WebControls.ListBox
是web控件
SendMessage
只针对
Winform下控件可用
你是Winform程序还是
web程序
Web程序不能用API来操作
----------------------
asp.net
实现
-------------------------------
<asp:ListBox
ID="ListBox1"
runat="server">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
<asp:ListItem>8</asp:ListItem>
<asp:ListItem>9</asp:ListItem>
</asp:ListBox>
<script
type="text/javascript">
window.onload
=
function()
{
var
sl=
document.getElementById('<%=this.ListBox1.ClientID
%>');
sl.scrollTop=sl.scrollHeight;
}
</script>
--------------------------------------------
你查msdn
System.Web.UI.WebControls.ListBox
控件没有Handle属性的
------------
winForm
实现
-------------------
在窗体上添加
ListBox
控件
using
System.Runtime.InteropServices;
namespace
WindowsApplication1
{
public
partial
class
Form1
:
Form
{
[DllImport("User32.dll")]
private
static
extern
Int32
SendMessage(IntPtr
hWnd,
int
Msg,
int
wParam,
int
lParam);
public
const
int
WM_VSCROLL
=
0x0115;
public
const
int
SB_LINEDOWN
=
1;
public
const
int
SB_PAGEDOWN
=
3;
public
const
int
SB_BOTTOM
=
7;
private
void
button1_Click(object
sender,
EventArgs
e)
{
SendMessage(this.listBox1.Handle,
WM_VSCROLL,
SB_BOTTOM,
0);
}
代码如上
//
-----------------晕哦
-------------
第一个
在新的页面上
复制进去就可以了
不需要任何代码
第二个是
winForm
程序
部分代码
---------------------------------------
【老大
请不要用
winForm
的方式来做web
程序。。。。】
是web控件
SendMessage
只针对
Winform下控件可用
你是Winform程序还是
web程序
Web程序不能用API来操作
----------------------
asp.net
实现
-------------------------------
<asp:ListBox
ID="ListBox1"
runat="server">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
<asp:ListItem>8</asp:ListItem>
<asp:ListItem>9</asp:ListItem>
</asp:ListBox>
<script
type="text/javascript">
window.onload
=
function()
{
var
sl=
document.getElementById('<%=this.ListBox1.ClientID
%>');
sl.scrollTop=sl.scrollHeight;
}
</script>
--------------------------------------------
你查msdn
System.Web.UI.WebControls.ListBox
控件没有Handle属性的
------------
winForm
实现
-------------------
在窗体上添加
ListBox
控件
using
System.Runtime.InteropServices;
namespace
WindowsApplication1
{
public
partial
class
Form1
:
Form
{
[DllImport("User32.dll")]
private
static
extern
Int32
SendMessage(IntPtr
hWnd,
int
Msg,
int
wParam,
int
lParam);
public
const
int
WM_VSCROLL
=
0x0115;
public
const
int
SB_LINEDOWN
=
1;
public
const
int
SB_PAGEDOWN
=
3;
public
const
int
SB_BOTTOM
=
7;
private
void
button1_Click(object
sender,
EventArgs
e)
{
SendMessage(this.listBox1.Handle,
WM_VSCROLL,
SB_BOTTOM,
0);
}
代码如上
//
-----------------晕哦
-------------
第一个
在新的页面上
复制进去就可以了
不需要任何代码
第二个是
winForm
程序
部分代码
---------------------------------------
【老大
请不要用
winForm
的方式来做web
程序。。。。】
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询