小编Sco*_*ttN的帖子

你怎么称呼循环进度条?

好吧,我只是因为正确的术语而感到茫然.我正在寻找正确的名称来调用"循环"的进度条.而不是标准的进度条从左到右填充到100%,这看起来就像进度条,但填充颜色的一小部分不断循环,从未将整个进度条填充到100%,基本上使它成为永恒进度条类似于Ajax加载图像.Microsoft现在喜欢在对话框中使用此进度条.

你怎么称呼这个东西所以我可以搜索一些控件等等?.Net是否有控制权?

谢谢

.net c# vb.net progress-bar

12
推荐指数
3
解决办法
5242
查看次数

通过WMI确定网络适配器类型

我正在使用WMI(Win32_NetworkAdapter)并尝试获取有线或无线连接的物理网络适配器的详细信息,并避免使用虚拟适配器等.

阅读本文后,它解释了您必须对WMI进行一些巧妙的查询以消除虚拟适配器并尝试仅返回真正的物理适配器.

阅读这篇文章,它解释了你可以比较网络适配器"描述"中的文字,看看它是否包括"无线","802.11"或"WLAN",如果是,那么很可能适配器是无线的适配器.

对于今天的.Net版本和其他改进,这些真的是在Windows XP +上确定网络适配器是有线还是无线并且不是来自VM软件等的虚拟适配器的唯一两种方式?如果没有,请解释.

.net c# wmi wmi-query

10
推荐指数
2
解决办法
1万
查看次数

WPF ListView数据绑定拖放自动滚动

我已经在这里与Bea的解决方案合作了一段时间,并发现它非常有用.现在我遇到的问题是,当我将项目拖放到另一个ListView控件中时,我想在拖动期间向上/向下滚动(将项目从索引30移动到索引1),它不会发生.我必须拖动到ListView中的可视项目的顶部,手动向上滚动,然后再次拖动,最终在我想要的位置结束.这不是非常用户友好.

现在我找到了我想要测试哪个项目被拖过的函数(DragDropHelper.DropTarget_PreviewDragOver),我就是这样.

Dim pt As Point = e.GetPosition(DirectCast(Me.targetItemsControl, UIElement))

' Perform the hit test against a given portion of the visual object tree.
Dim result As HitTestResult = VisualTreeHelper.HitTest(Me.targetItemsControl, pt)
Run Code Online (Sandbox Code Playgroud)

现在从那里我可以得到这个视觉命中的DependencyProperty

Dim lvi As ListViewItem = TryCast(GetDependencyObjectFromVisualTree(TryCast(result.VisualHit, DependencyObject), GetType(ListViewItem)), ListViewItem)
Run Code Online (Sandbox Code Playgroud)

哪个是ListViewItem.现在在函数DropTarget_PreviewDragOver中我有"DraggedItem",它在Bea的示例中是Picture类型,但是这可以根据你绑定到ListView的ObservableCollection而改变.现在,我想根据鼠标在控件上的位置向上或向下拖动ListView.我尝试使用下面未完成的非工作代码

If lvi IsNot Nothing Then
    If pt.Y <= 25 Then
        Dim lv As ListView = TryCast(targetItemsControl, ListView)
        If lv IsNot Nothing Then
            Dim index As Integer = lv.Items.IndexOf(lvi)
            If index > 1 Then
                lv.ScrollIntoView(lv.Items(index - 1))
            End …
Run Code Online (Sandbox Code Playgroud)

data-binding collections wpf listview drag-and-drop

7
推荐指数
1
解决办法
6378
查看次数

PInvoke - Marshal一个来自指针的结构数组

我试图在这个问题上回答这个问题

我的结构在C中看起来像这样

typedef struct drive_info_t {
    unsigned char drive_alias[32];
} drive_info_t;
Run Code Online (Sandbox Code Playgroud)

我的功能在C中看起来像这样

unsigned int get_drive_info_list(drive_info_t **list, unsigned int *item_count) {
    //fill list in native C

    //print out in native C
    printf("list.alias - %s\r\n",list[i]->drive_alias);
}
Run Code Online (Sandbox Code Playgroud)

我的C#struct看起来像这样

[StructLayout(LayoutKind.Sequential)]
public struct drive_info_t
{
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
    public byte[] drive_alias;
}
Run Code Online (Sandbox Code Playgroud)

我的C#函数声明如下所示

[DllImport("mydll.dll", EntryPoint = "get_drive_info_list", CallingConvention = CallingConvention.Cdecl)]
public static extern uint GetDriveInfoList(out System.IntPtr ptr_list_info, out System.IntPtr ptr_count);
Run Code Online (Sandbox Code Playgroud)

我正在这样调用C#函数

IntPtr ptr_list_info = IntPtr.Zero;
IntPtr ptr_cnt = IntPtr.Zero;

ret = …
Run Code Online (Sandbox Code Playgroud)

c c# pinvoke pointers

6
推荐指数
1
解决办法
533
查看次数

在另一个Storyboard时间轴中启动Storyboard

我有一个故事板(1),它在2秒内完成一些基本的动画.我希望故事板(1)能够完成我设置的所有属性动画(这一切都很好).但是在故事板的3秒钟(1)我想开始故事板(2)并退出故事板(1)而根本没有用户交互.

我见过的唯一让我这样做的是当用户点击某些东西时.我希望这是基于当前故事板(1)时间轴的位置自动完成的.

我希望这足够了.如果您需要我更详细地解释一下,请告诉我.

谢谢.

编辑:请以XAML或VB.net语言发布答案.:)

wpf animation storyboard

4
推荐指数
1
解决办法
5486
查看次数

WPF ListView ScrollViewer双击事件

执行以下操作将重现我的问题:

  • WPF新项目
  • 添加ListView
  • 命名列表视图:x:Name =“ lvList”
  • 将足够的ListViewItems添加到ListView以完全填充列表,以便在运行时出现垂直滚动条。
  • 将此代码放入lvList.MouseDoubleClick事件

Debug.Print(“发生双击事件”)

  • 运行应用程序
  • 双击滚动条的LargeChange区域(而不是滚动“条”本身)
  • 请注意立即窗口打印为ListView双击发生的消息

如何更改此行为,以便MouseDoubleClick仅在鼠标“位于” ListViewItems上时发生,而不是在连续单击ScrollViewer在列表中向下/向上滚动时才发生?

wpf listview double-click scrollviewer

4
推荐指数
1
解决办法
4894
查看次数

在OS X上运行具有管理员权限的脚本

我已尽力找到Stack Overflow和互联网上的许多脚本问题的解决方案,但我似乎找不到我需要的解决方案.

我想要做的是创建一个更自动化,更少点击的解决方案,以删除系统上的所有移动缓存用户帐户.我一直在登录并手动转到用户帐户并通过单击" - "按钮逐个删除用户,然后单击"立即删除"以获取用户数据.这是有效的,但是很耗时,而且我有更好的时间与我的时间有关.所以我知道必须有一种方法可以用脚本来做到这一点.

我跑过这段代码:

for cuser in `dscl . -list /Users AuthenticationAuthority | grep LocalCachedUser | awk '{print $1}' | tr '/n' ' '`; do
    dscl . -delete /Users/$cuser
done
Run Code Online (Sandbox Code Playgroud)

如果我在终端运行这个我得到权限错误.所以我想我需要用sudo运行它.所以我开始考虑创建AppleScripts来运行脚本,但我似乎无法找到正确的方法来执行它.

有任何想法吗?顺便说一下,我是Mac上脚本的新手,所以请注释你的代码,以便我知道发生了什么,所以我不会只是运行一些脚本代码而不知道它会做什么.:)

谢谢

macos scripting applescript dscl

3
推荐指数
1
解决办法
2万
查看次数