c# listbox控件利用Sendmessage使滚动条向下

2024-12-26 15:57:22
推荐回答(3个)
回答1:

System.Web.UI.WebControls.ListBox
是web控件
SendMessage 只针对 Winform下控件可用

你是Winform程序还是 web程序

Web程序不能用API来操作
---------------------- asp.net 实现 -------------------------------

1
2
3
4
5
6
7
8
9


--------------------------------------------
你查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 程序。。。。】

回答2:

在窗口中先添加一个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程序啊?怪不得...

回答3:

System.Web.UI.WebControls.ListBox
是web控件
SendMessage
只针对
Winform下控件可用
你是Winform程序还是
web程序
Web程序不能用API来操作
----------------------
asp.net
实现
-------------------------------
ID="ListBox1"
runat="server">
1
2
3
4
5
6
7
8
9

type="text/javascript">
window.onload
=
function()
{
var
sl=
document.getElementById('<%=this.ListBox1.ClientID
%>');
sl.scrollTop=sl.scrollHeight;
}

--------------------------------------------
你查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
程序。。。。】