[C#] 绘制函数图像. 可拖动, 可缩放, 可调整精度
欸嘿, 这就是程序图了, 通过鼠标拖拽可以移动, 鼠标滚轮可以缩放, 右下角还可以选择要绘制的函数. 项目仓库链接在文章末尾基本原理:Graphics 绘图, 不用我说了吧? 如果你不是很懂, 留言, 我会专门写一篇文章来介绍 Graphics.带入求值, 没啥难的. 线是一个个点连起来的, 也就是:然后, 标尺, 也是一个个线呗, 那个数字的话, 就是这个:填充小三角的话, 就是这个:关于优化:首先是计算问题, 保证仅仅计算需要显示的区域, 区域外的坐标不予以计算, 以节省资源.然.
1694 字
|
8 分钟
[C#] IEnumerable拼接! 将枚举器串起来~
本来以为 IEnumerable 不能拼接, 就自己实现了一个, 结果发现 Linq 是提供了一个 Concat 函数的, 不过似乎是通过生成List的方式来实现? 反正我那个是异步的.用来做参考还是非常不辍滴, 速度的话, 4个10000拼接, 然后重复迭代10000次, 我写的是3590ms, Linq 的是2931ms, 不过两个其实都没有直接 ToList() 然后迭代要快, ToList(), 然后AddRange, 其实耗时只有九百多毫秒, 足足差了3倍左右.static void Coll
231 字
|
1 分钟
[C#] Range函数, 好用就完事儿了!
这么多重载, 完全够用了~, 返回值是 IEnumerable<T>using System;using System.Collections;using System.Collections.Generic;namespace Null.Library{ public static partial class Lib { public static IEnumerable<int> Range(int stop) {
866 字
|
4 分钟
[.NET] WPF DoubleAnimation 动画, 一篇文章悟透!
完全理解 DoubleAnimation! 仅需这一篇文章.介绍首先, DoubleAnimation可以用来创建一些简单的动画, 这些动画仅限于使用Double值的属性, 例如控件的位置, 尺寸, 缩放, 旋转, 或者透明度变化等.一个DoubleAnimation实例, 应该至少指定3个值:From (值从哪里开始), To (值到哪里结束), Duration (值的变化经过多少时间)例如, 如果要创建一个 1s 内从值从 0 到 1 的动画, From 就是0, To 就是 1, Du
726 字
|
4 分钟
[.NET] WPF Triggers 触发器, EventTrigger, Trigger
触发器, 如其名, 可根据某些事件或属性值来触发某些东西, 那么我们来了解一下 xaml 中的触发器吧.样式变更:我们试试通过使用普通触发器来实现当鼠标悬停时更改控件背景颜色.然后运行一下, 效果就是这样:启动动画:然后, 试着用事件触发器(EventTrigger)与DoubleAnimation来创建一个启动动画吧(其实代码都写好了):然后运行效果如下:可以看到, 窗口是渐渐浮现的, 也就是Opacity从0到1.什么? 你问我对应的CS代码怎么写?先看看这篇文章吧, 看完它,
250 字
|
1 分钟
[.NET] WPF XAML 原理, 节点与实例, 以及一些重要的零碎知识点.
当你查资料时, 看到那些眼花缭乱的 xaml 代码, 让人瞬间没有了学习的欲望… 先试着寻找下其中的规律吧.节点与实例:首先看看上面的文章, 从我们最常接触的 Button 入手吧. Button 是可以用 CS 代码来进行实例化, 然后放置在窗口中的, 而其它的元素, 例如根节点 Window, 都是可以通过 CS 代码进行实例化.可以推测出, 在 xaml 中, 一个个的节点, 例如 Button, Label, 其实就是等同于声明一个对应类型的实例.那么如何在 CS 代码中访问这个实例呢?
1238 字
|
6 分钟
[C#/VB.NET] C# 与 VB.NET 的类库跨语言引用.
例如你有一个程序, 是 VB.NET 写的, 你希望在里面引用 C# 的代码, 那么, 该如何操作呢?准备材料:一个 C# 或 VB.NET 项目, 我们以一个测试项目(WinForm)开始与该项目语言不同的, 但是是基于 .NET 的类代码片. 代码地址: 一个类实现控件拖拽移动分布演示:1. > 创建类库项目:创建一个与我们准备的类库语言相同的类库, 并将代码拷贝到其中:2. > 添加项目引用:在刚刚准备好的 WinForm 项目中, 添加对类库项目的引用.
185 字
|
1 分钟
[C#] 音乐播放 3 种方式 Demo 与 MCI 音乐播放器封装类.
淦!首先代码是不完整的, 我还是没能成功设置音量, 除此之外, 别的倒是挺顺利的, 当前实现的功能如下:播放 暂停 还原 停止 获取进度 获取长度 设置进度 获取播放状态内容:本项目的仓库在: SlimeNull/AudioTest, 在这里下载哦, 别忘了还原 nuget 包, 因为用了 NAudio 库.> 音乐播放 Demo:先放图吧:首先左上角是打开文件的, 然后 PlayType 是播放方式, 我现在让它支持 3 种, 一种是SoundPlayer, 然后是 M
1146 字
|
6 分钟