C# WinForm里:怎么做标注式窗体 就是像你每次要拔出U盘时 任务栏右下角会弹出"您现在可以安全~~"的那个东西,
下面还有个斜的小箭头的 也就像你在Textbox里输入时按下CapsLock键时它提示你"键盘大小写~~"什么的那个框框
我在网上看到的有很多 主要都是这样的:http://blog.csdn.net/onlyzhangqin/archive/2008/04/18/2304786.aspx
但小弟愚昧 在自己机上试验了下 报很多错啊
而且原文代码里很多含糊的地方 比如GetArrowLocation()GraphicsPath类型什么 还有case后面许多省略号什么意思啊
网上那篇我真的看不懂 哪位大哥做过这个问题的请提供下实现过的codes给小弟看看吧
(实际我要解决的是:)
我有个textbox 当在其中输入了数字时 就在textbox的边缘处弹出这个标注式 上面写"您输入了数字"字样 怎么实现 谢谢所有路过的朋友的帮助
下面还有个斜的小箭头的 也就像你在Textbox里输入时按下CapsLock键时它提示你"键盘大小写~~"什么的那个框框
我在网上看到的有很多 主要都是这样的:http://blog.csdn.net/onlyzhangqin/archive/2008/04/18/2304786.aspx
但小弟愚昧 在自己机上试验了下 报很多错啊
而且原文代码里很多含糊的地方 比如GetArrowLocation()GraphicsPath类型什么 还有case后面许多省略号什么意思啊
网上那篇我真的看不懂 哪位大哥做过这个问题的请提供下实现过的codes给小弟看看吧
(实际我要解决的是:)
我有个textbox 当在其中输入了数字时 就在textbox的边缘处弹出这个标注式 上面写"您输入了数字"字样 怎么实现 谢谢所有路过的朋友的帮助
解决方案 »
- 散分兼讨论:大量数据更新的效率问题
- 网站原型设计工具。
- c1FlexGrid控件单元格多选问题
- 寻求B/S的打印控件或者代码,越多越好
- WinForm中如何获取 网页的标题,在线等,急!!!!
- 在C#中,那个控件可以实现将button“归类化”!
- 请问大虾们,怎么调用windows的正在复制对话框
- aspx 文件中包括 JavaScript 脚本,如何在 html 调用 C# Server 端中数据,
- ■☆■两个问题,有熟悉C# DrawLines和VB、C#的DateTime类型的高人请来帮个忙(在线)
- 为什么会这样
- DataGridView 使用DataSet添加(行,列),删除(行,列),修改(行,列,单元格)
- 急:谁可以提供一个c#获取键盘输入信息的程序
{
ToolTip tip = new ToolTip();
tip.IsBalloon = true;
tip.Show("HEllo", this, this.button2.Location);
}
参考一下
{
ToolTip tip = new ToolTip();
tip.IsBalloon = true;
tip.Show("HEllo", this, this.button2.Location,1000);
}
我记得tooltip框是个矩形模样的 我想做的是个四角处圆滑 下边带小箭头的那个效果
就像什么效果呢: 当你从机上拔出U盘时,它会弹出个"安全的移除硬件"的那个框 明白的吧 尚未成功 仍需努力!!!
{
ToolTip tip = new ToolTip();
tip.IsBalloon = true;
tip.Show("hello",this.textBox1,10,-40,3000);
}
但有个缺憾 就是没法在那个tooltip上加Button或在右上角处放个关闭窗体用的小叉叉那个
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 WindowsApplication16
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[StructLayout(LayoutKind.Sequential)]
public struct DEV_BROADCAST_VOLUME
{
public int dbcv_size;
public int dbcv_devicetype;
public int dbcv_reserved;
public int dbcv_unitmask;
} protected override void WndProc(ref Message m)
{
// 发生设备变动
const int WM_DEVICECHANGE = 0x0219;
// 系统检测到一个新设备
const int DBT_DEVICEARRIVAL = 0x8000;
// 系统完成移除一个设备
const int DBT_DEVICEREMOVECOMPLETE = 0x8001;
// 逻辑卷标
const int DBT_DEVTYP_VOLUME = 0x00000002; switch (m.Msg)
{
case WM_DEVICECHANGE:
switch (m.WParam.ToInt32())
{
case DBT_DEVICEARRIVAL:
int devType = Marshal.ReadInt32(m.LParam, 4);
if (devType == DBT_DEVTYP_VOLUME)
{
DEV_BROADCAST_VOLUME vol;
vol = (DEV_BROADCAST_VOLUME)Marshal.PtrToStructure(
m.LParam, typeof(DEV_BROADCAST_VOLUME)); MessageBox.Show(vol.dbcv_unitmask.ToString("x"));
}
break;
case DBT_DEVICEREMOVECOMPLETE:
MessageBox.Show("Removal");
break;
}
break;
}
base.WndProc(ref m);
}
}
}