某些小技巧的技术分享
分享1:
需求:输入十进制数x,要求输出三十六进制数y,要求y至少是两位数,如:x=0,1…9,10,y=00,01…09,0z;
分析:
string[] chars = new string[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" };
int vl = (int)value;(注:vl为整数,vl/36是取整)
string temp = "";
if (vl < (36 * 36))//count = 2
temp = chars[vl / 36] + chars[vl % 36];
else if (vl < (36 * 36 * 36))//count = 3
temp = chars[vl / (36 * 36)] + chars[(vl / 36) % 36] + chars[vl % 36];
else if (vl < (36 * 36 * 36 * 36))//count = 4
temp = chars[vl / (36 * 36 * 36)] + chars[(vl / (36 * 36)) % 36] + chars[(vl / 36) % 36] + chars[vl % 36];
else if (vl < (36 * 36 * 36 * 36 * 36))//count = 5
temp = chars[vl / (36 * 36 * 36 * 36)] + chars[(vl / (36 * 36 * 36)) % 36]+ chars[(vl / (36 * 36)) % 36] + chars[(vl / 36) % 36] + chars[vl % 36];
.......依次类推
根据上面的规律,我们可以使用一个while循环进行实现:
int n=vl;
int count =1;//记录位数+1
while (true)
{
if ((n = n / 36) < 36)//计算周期内的位数,直到n的值在0~36内(不包含36)
{
temp = chars[vl / (int)(Math.Pow(36, count))];//最左边位数值
for (int i = count - 1; i > -1; i--)
temp += chars[(vl / (int)(Math.Pow(36, i))) % 36];//从左向右追加位数值
break;
}
count++;
}
最后,temp就是所需的结果。(语言:C#)
分享2:
需求:在winForm中,需要对TextBox输入框进行水印提示;
分析:对TextBox进行重写操作:
public partial class WatermarkTextBox : TextBox
{
private const uint ECM_FIRST = 0x1500;
private const uint EM_SETCUEBANNER = ECM_FIRST + 1;
public WatermarkTextBox()
{
InitializeComponent();
}
[DllImport("user32.dll",CharSet = CharSet.Auto,SetLastError = false)]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg ,uint wParam,string lParam);
private string watermarkText;
[Description("文本提示")]
public string WatermarkText
{
get { return watermarkText; }
set
{
watermarkText = value;
SetWatermark(watermarkText);
}
}
private void SetWatermark(string watermarkText)
{
SendMessage(this.Handle, EM_SETCUEBANNER, 0, watermarkText);
}
}
对此重写方法编译后,我们在设计界面的属性框中就可以找到WatermarkText,直接填写值,使用的WatermarkTextBox控件,就可以看到水印提示了。
转载于:https://www.cnblogs.com/ysq0908/p/9382980.html
某些小技巧的技术分享相关推荐
- 黄文俊:Serverless小程序后端技术分享
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 黄文俊,现任腾讯云SCF无服务器云函数高级产品经理,多年企业级系统开发和架构工作经验,对企业级存储.容器平台.微服务架构.无服务器计算等领域 ...
- 集合拆成固定长度的小集合_《集合啦动物森友会》钓鱼怎么玩?钓鱼小技巧攻略分享...
<集合啦动物森友会>中钓鱼需要一定的技巧,在甩竿的时候必须把鱼饵甩到鱼能看的位置,并且还不能惊动其他的鱼,下面带来由"九幽荒翎"分享的<集合啦动物森友会>钓 ...
- 鸿蒙系统实用小技巧,【AVW分享】鸿蒙系统使用技巧,你都知道有哪些吗?
[分享交流] [AVW分享]鸿蒙系统使用技巧,你都知道有哪些吗? 45488317 电梯直达 BH8AVW 花粉版主 发表于 2021-5-9 20:15:58 来自:HUAWEI Mate 30 P ...
- 【小技巧】AI语音合成,文本音频互转经验分享
第一步: 电脑版微信打开[小程序搜索界面]搜索 [微软听听文档] 点击进入 微软听听文档 ,界面如下: 第二步:从电脑导入图片,键入需要合成的文字后,选择 AI读稿 (根据个人喜好与需要,选择主播风格 ...
- 论文图表配色小技巧和excel图表如何导出高清色彩不失真tiff格式图片方法分享
楼主在写小论文时发现有两个好用的小技巧,特此分享给大家,希望能给大家提供点点帮助. 1.图表配色 总觉得excel自带的推荐配色,看起来一点都不小清新,但我发现有个小工具Easychart里面的配色方 ...
- 阿里程序员工作小技巧:理解CPU分支预测,提高代码效率
技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径,加速业务的上线速率,体现也会在优秀程序员在工作效率提升,产品性能优化和用户体验改善等小技巧方面的分享,以提高我们的工作能力 ...
- 阿里程序员工作小技巧 | 理解CPU分支预测,提高代码效率
技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径,加速业务的上线速率,也会体现在优秀程序员在工作效率提升.产品性能优化和用户体验改善等小技巧方面的分享,以提高我们的工作能力 ...
- cad 怎么显示块句柄_新手必看的CAD小技巧,老师傅精选汇总,三分钟教你学习用处多多...
零基础新手必看的CAD绘图小技巧,这里分享给你,都是老师傅精选汇总,实实在在用得上,希望能够给你带去帮助! PS:其实CAD入门并不难,难在坚持,如果真的想要入这个行业,一定要你坚持哦! 废话不说了直 ...
- javascript取随机数_查缺补漏一些 Javascript 的小技巧笔记
前言 这篇文章的话,分享一些最近使用React开发项目时,用到的小技巧,其实也算是JavaScript中的一些技巧吧,内容主要有一下几点? 产生随机不重复id 快速取整数 合理布局样式 字符串xml的 ...
最新文章
- Struts2工作原理和框架扩展点
- Ubuntu16.04下基于opencv--实现图像SIFT特征与全景图片的生成
- 垂直居中之父元素高度确定的文本
- bp神经网络matlab代码_基于Matlab的BP神经网络识别26个英文字母
- springboot实现权限列表_SpringBoot+shiro+mybatis+Thymeleaf实现权限登录
- NoSQL数据库——Hbase
- 震惊·X话最少的~“原理图更新到PCB时出现Unknown Pin: PinXXX 问题解决方案”
- Apple Pencil 拆解一代 -1212
- Lamp部署于三台主机中
- 计算机硬件系统组装的论文,有关计算机硬件组装论文.docx
- 第一次进入Eclipse MARS2界面后的一些基本设置
- 生物识别设备有问题_有您数据的生物识别
- 考研英语不熟悉的词义(List1-List5)
- 移动端 meta 解释
- 999.项目管理的一些计算技巧
- Numpy 简单教程(二)数组的形状(shape)操作
- oracle not all variables bound,ORA-01008: not all variables bound 错误
- 使用U盘安装CenTOS6
- “鑫胖”家的红星3.0系统被曝漏洞,可远程执行任意命令注入
- vant组件库适配pc端