`
- 浏览:
1521953 次
- 性别:
- 来自:
北京
-
c#中WinForm的TextBox循环自动滚动示例
这个问题来自论坛提问,演示代码如下
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
using
System.Runtime.InteropServices;
namespace
WindowsApplication27
...
{
/**/
///
<summary>
///
演示如何在TextBox中让文字循环滚动:
///
作者jinjazz
///
作者blog:
http://blog.csdn.net/jinjazz
///
</summary>
public
partial
class
Form1:Form
...
{
public
Form1()
...
{
InitializeComponent();
this
.textBox1.Clear();
for
(
int
i
=
0
;i
<=
20
;i
++
)
...
{
this
.textBox1.Text
+=
string
.Format(
"
{0}:jinjazz__{1}
"
,i,i);
}
this
.timer1.Interval
=
200
;
this
.timer1.Start();
}
//
发送消息
[DllImport(
"
user32.dll
"
,EntryPoint
=
"
SendMessage
"
)]
public
static
extern
int
SendMessage(IntPtrhWnd,
int
wMsg,
int
wParam,
int
lParam);
//
获取滚动条位置
[DllImport(
"
user32
"
)]
public
static
extern
int
GetScrollPos(IntPtrhwnd,
int
nBar);
//
设置滚动条位置
[DllImport(
"
user32.dll
"
)]
static
extern
int
SetScrollPos(IntPtrhWnd,
int
nBar,
int
nPos,
bool
bRedraw);
public
const
int
EM_LINESCROLL
=
0xb6
;
private
void
timer1_Tick(
object
sender,EventArgse)
...
{
int
i
=
GetScrollPos(
this
.textBox1.Handle,
1
);
//
向下滚动一行
SendMessage(
this
.textBox1.Handle,EM_LINESCROLL,
0
,
1
);
//
0,1代表垂直滚动条向下滚动
//
判断是否有位置变化,如果没有则说明到了底部,返回开始处
if
(i
==
GetScrollPos(
this
.textBox1.Handle,
1
))
...
{
//
回到顶部,这里用SetScrollPos似乎有问题,滚动条和文字不是同步更新
this
.textBox1.SelectionStart
=
0
;
this
.textBox1.SelectionLength
=
1
;
this
.textBox1.ScrollToCaret();
this
.textBox1.SelectionLength
=
0
;
}
Console.WriteLine(i);
}
private
void
textBox1_MouseEnter(
object
sender,EventArgse)
...
{
this
.timer1.Stop();
}
private
void
textBox1_MouseLeave(
object
sender,EventArgse)
...
{
this
.timer1.Start();
}
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
请注意,这只是一个基础示例,实际应用中可能需要根据项目需求调整代码,例如处理文本的自动换行、滚动条的可见性判断等。 在压缩包中的`WindowsFormsApplication1.sln`是Visual Studio的解决方案文件,而`Windows...
在Windows Forms开发中,TextBox控件是最常用的输入控件之一,用于显示和接收文本输入。然而,系统默认的TextBox控件并不支持文字的垂直居中显示。为了满足这个需求,我们可以自定义一个控件,继承自TextBox类,并...
在Windows Forms(WinForm)开发中,TextBox控件是最常用的一种元素,用于接收用户的文本输入。为了提升用户体验,我们常常需要实现一个自动提示(Auto-Suggest或Auto-Complete)的功能,当用户在TextBox中输入文字...
在Windows Forms(Winform)开发中,TextBox控件是最常用的一种输入控件,通常用于接收用户的文本输入。然而,有时我们需要让TextBox在容器内垂直居中显示,这可能需要一些额外的布局设置或自定义代码。这篇教程将...
在C# WinForm开发中,有时我们可能需要创建具有特殊视觉效果的控件,比如将一个TextBox控件显示为仅有一条线的简洁样式。这样的设计可以使得界面更加清爽,减少不必要的视觉干扰。标题“C# WinForm控件TextBox扩展...
通过以上示例,我们可以看出,C# WinForm中的TextBox控件提供了一套灵活的机制,允许开发者根据需求对用户输入进行细致的控制。理解并熟练运用这些技巧,能够提升应用程序的用户体验和功能完善性。在实际开发中,应...
"C#代码高亮的WinForm的TEXTBOX控件"这个主题,主要涉及如何在WinForms应用中创建一个能够对输入的C#代码进行语法高亮的TextBox替代品。这通常通过自定义控件或者使用第三方库来实现。 首先,我们可以利用IC#Code....
在C# WinForm开发中,TextBox控件是用于用户输入文本的基本组件。为了提升用户体验,开发者经常需要实现一些高级功能,比如猜想输入和历史记录输入。这两种功能在很多应用程序中都十分常见,例如搜索引擎、自动补全...
在C# WinForm应用开发中,`TextBox`控件是常用的数据输入组件,它允许用户在界面中输入和编辑文本。然而,在某些情况下,我们可能需要在`TextBox`上实现一个弹出窗体,比如显示更多信息、提示或者确认操作。在实现...
在Windows Forms(WinForm)应用程序开发中,遇到控件如textBox无法正常获取焦点的问题时,开发者需要采取一些策略来确保用户交互的顺畅进行。本文将详细介绍如何解决WinForm中的textBox无法获得焦点的问题,并探讨...
在C#编程中,TextBox控件是用于接收用户文本输入的标准组件。为了提供更好的用户体验,开发者经常需要为TextBox添加自动提示、自动完成和自动补全的功能。这些特性可以帮助用户更快地输入信息,尤其是在处理长文本...
在C# WinForms开发中,有时我们需要限制TextBox控件只接受数字输入,这对于处理数值数据的应用程序来说尤为重要。本文将详细介绍几种实现这一功能的方法,并深入分析每种方法的工作原理及适用场景。 ### 方法一:...
本示例将深入探讨如何在C# Winform应用中实现和使用滚动条,以便用户可以更轻松地控制视图。滚动条分为水平滚动条(Horizontal Scroll Bar, HScrollBar)和垂直滚动条(Vertical Scroll Bar, VScrollBar),它们都...
在标题“winform下TextBox只显示一条直线自定义控件源码”中,提到的是一个特殊的TextBox控件,它仅显示一条直线,而非常规的矩形边框。这通常是为了追求更简洁、现代的UI设计。以下将详细解析这个自定义控件的设计...
首先,WinForm框架的核心是Windows Forms类库,它包含了一系列预定义的控件,如按钮(Button)、文本框(TextBox)、标签(Label)、列表视图(ListView)等,这些控件可以直接拖放到设计视图中,极大地简化了UI设计过程。...
在C#编程中,TextBox控件是用于用户输入文本的常用元素。然而,在某些情况下,开发者可能希望禁用TextBox的默认行为,比如防止用户通过右键点击触发系统菜单。标题"\"C# TEXTBOX屏蔽右击弹出系统菜单\"\"正是针对这...
在本文中,我们将深入探讨如何使用C#语言在Windows Forms(WinForm)应用程序中调用Web服务,以实现一个经典的示例:获取互联网上的天气预报信息。这个例子适合于使用Visual Studio 2005或2008开发环境。 首先,让...
在C# WinForm应用开发中,有时候为了满足特定的界面设计需求,我们可能需要自定义滚动条(ScrollBar)控件。本主题将深入探讨如何在C#中实现自定义滚动条,包括滚动条的外观、行为以及交互效果的定制。 一、自定义...
在C# WinForm应用开发中,实现“记住密码”和“自动登录”的功能是一项常见的需求。这个源码示例提供了一种实现方式,其设计灵感来源于QQ客户端的用户登录界面,旨在帮助开发者学习如何在自己的应用程序中集成这些...
在C#编程中,开发Windows桌面应用程序时,我们经常需要处理用户输入的数据,例如通过TextBox控件获取用户的数字输入,并进行一些计算操作。本话题主要关注如何实现多个TextBox中的数值相加,然后将结果实时显示在另...