如何在WPF中创建Label
文本Underline
?我被困了,找不到下划线的任何财产:
<Label Name="lblUserName"
Content="Username"
FontSize="14" FontWeight="Medium" />
Run Code Online (Sandbox Code Playgroud) Dim myStr As String = "38"
Run Code Online (Sandbox Code Playgroud)
我希望我的结果是38.000
......
myStr = "6.4"
Run Code Online (Sandbox Code Playgroud)
我想要我的结果 6.400
实现这一目标的最佳方法是什么?我想格式化一个字符串变量至少三个小数位.
当我遇到一些未使用的局部变量时,根据我的老板请求,我正在消除所有编译器警告的代码.当然,我删除了合法的那些,但我偶然发现了一对不那么直接的夫妇.(变量名称因安全性而更改)
Dim strAAA As String = "aaaa" & strBBB & Now.ToString("yyyyMMddHHmmss") & ".doc"
If FUNCTION_NAME(strCCCC, strAAA) Then Return True
Run Code Online (Sandbox Code Playgroud)
据称strAAA在下面明确使用时是一个"未使用的局部变量".
即使我写的如下:
Dim strAAA As String
strAAA = "ViewLet" & strBBB & Now.ToString("yyyyMMddHHmmss") & ".doc"
If FUNCTION_NAME(strTmpFileName, strAAA) Then Return True
Run Code Online (Sandbox Code Playgroud)
警告仍然存在.
任何人都可以解开这个谜团吗?
vb.net compiler-warnings visual-studio-2012 unused-variables
可能重复:
.NET进度条未更新
我构建了一个进度条类,显示了for循环中的进度.这是进度条类的代码:
Public Class frmProgress
Private Sub frmProgress_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
progressBar.Minimum = 0
End Sub
Public Sub ProgressBarSetup(ByRef Maximum As Integer, ByRef Title As String)
progressBar.Maximum = Maximum
progressBar.Value = 0
Me.Text = Title
Me.Show()
End Sub
Public Sub IncProg()
progressBar.Value += 1
Application.DoEvents()
If progressBar.Value = progressBar.Maximum Then
Me.Close()
End If
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
以下是我在for循环中使用它的方法:
Dim pb As New ProgressBar
pb.ProgressBarSetup(5000, "Test")
For i As Integer = 0 To 5000 - 1 …
Run Code Online (Sandbox Code Playgroud) 我认为F#函数和System.Func之间的转换必须手动完成,但似乎有一种情况,编译器(有时)会为你做.当出错时,错误信息不准确:
module Foo =
let dict = new System.Collections.Generic.Dictionary<string, System.Func<obj,obj>>()
let f (x:obj) = x
do
// Question 1: why does this compile without explicit type conversion?
dict.["foo"] <- fun (x:obj) -> x
// Question 2: given that the above line compiles, why does this fail?
dict.["bar"] <- f
Run Code Online (Sandbox Code Playgroud)
最后一行无法编译,错误是:
This expression was expected to have type
System.Func<obj,obj>
but here has type
'a -> obj
Run Code Online (Sandbox Code Playgroud)
显然,该功能f
没有签名'a > obj
.如果F#3.1编译器对第一个字典赋值感到满意,那为什么不是第二个呢?
使用带有"搜索"按钮的Excel文件打开自定义程序.该程序用于研究.如果在用户单击按钮时已打开该程序,请将其弹出并专注于该给定程序.
这是我试图使用的代码:
搜索按钮
Private Sub btnSearch_Click()
Dim x As Variant
Dim Path As String
If Not IsAppRunning("Word.Application") Then
Path = "C:\Tmp\MyProgram.exe"
x = Shell(Path, vbNormalFocus)
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
IsAppRunning()
Function IsAppRunning(ByVal sAppName) As Boolean
Dim oApp As Object
On Error Resume Next
Set oApp = GetObject(, sAppName)
If Not oApp Is Nothing Then
Set oApp = Nothing
IsAppRunning = True
End If
End Function
Run Code Online (Sandbox Code Playgroud)
只有当我将"Word.Application"作为可执行文件时,此代码才有效.如果我尝试放"MyProgram.Application",该函数将永远不会看到程序正在运行.如何才能找到"MyProgram.exe"当前打开?
此外,我需要把重点放在它上面......
首先,请原谅我,但由于我的Windows安装工作,我的截图是法语的.但它仍然很容易理解.我将包含截图,使其更具视觉吸引力.
这是一些背景信息:
我的应用程序是一个以默认(小 - 100%)显示开发的Windows窗体.像这样:
如您所见,"Petite"或Small显示是默认选择.
以下是我的应用程序在此设置中的外观.这是正确的显示
红色矩形指出了不需要的空白空间.
我试过了:
我真的认为它因为锚定和对接而存在缩放问题.虽然这似乎不是问题......看起来有麻烦的是Tab Control和Listviews ......
一些用户(大多数)将其设置作为默认设置(100%),但有一些用户将其设置为"中"设置,从而导致此缩放问题.有没有办法来解决这个问题?
我想过滤我的DataGridView数据.我的DataGridView的DataSource绑定到了BindingSource
.BindingSource包含我clsBillHeader
班级中的对象列表.
这是第一段代码:
Dim bSource As New BindingSource
bSource.DataSource = clsBillHeader.GetAll()
dgvBills.DataSource = bSource
bSource.Filter = "JobNumber Like '100%'" //Filter doesn't actually work
Run Code Online (Sandbox Code Playgroud)
得到所有()
Public Shared Function GetAll() As List(Of clsBillHeader)
Dim mycn As New SqlConnection(connection)
Dim mycmd As New SqlCommand("SELECT * FROM Headers", mycn)
mycn.Open()
Dim myreader As SqlDataReader = mycmd.ExecuteReader
Dim myList As New List(Of clsBillHeader)
While myreader.Read
Dim item As New clsBillHeader()
SetByReader(myreader, item) //Sets all values correctly (such as forein keys)
myList.Add(item)
End …
Run Code Online (Sandbox Code Playgroud) 使用 MVVM 标准在 DataGrid 的 RowDetails 模板中添加多个图像。
我有一个带有 DataGrid 的检查窗口,用于保存损坏物品的描述以及检查员的姓名首字母。更重要的是,这个DataGrid的RowDetailsTemplate需要保存检查员拍摄的损坏物品的图片(因此损坏物品的图片可能不止一张)。
我有一个 DamagedWindow.xaml 旨在创建我的 DamagedItem 条目。它看起来像这样:
数据网格 (.XAML)
<DataGrid ItemsSource="{Binding Pictures}" SelectedItem="{Binding SelectedPicture}" AutoGenerateColumns="False" Grid.Column="1" Grid.Row="2" Margin="5" HorizontalAlignment="Stretch" Name="DataGrid1" VerticalAlignment="Stretch" CanUserAddRows="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Titre" Binding="{Binding Name}" Width="*" />
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<Image Height="100" Source="{Binding Path}" />
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
如您所见,我的 RowDetails 模板在此 DataGrid 中运行良好。我有一个名为 PicturesList 的类,它继承了我的 PictureModel( Name
, Description
, Path
)的 ObservableCollection 。
您在 DataGrid 上方看到的文本框是我的 DamagedItemModel ( Description
, Initiales
, PicturesList
) 的属性。因此,当用户单击接受(复选标记)按钮时,将损坏的项添加到损坏的项列表中,然后从我的主窗口将其设置为 DataGrid …
我需要一种方法,通过点击我的界限将项目设置为已完成.完成后,由于行的过滤器,不再看到该项目.CheckBox
DataGridView
DataGridView
DataView
我有一个DataGridView
必然的DataView
.
Private Sub LoadLispImprovements()
Private ViewLispImprovements As New DataView
ViewLispImprovements.Table = Programs.Tables("dtLispImprovements")
ViewLispImprovements.RowFilter = "Completed=0"
Lisp_dgvImprovements.DataSource = ViewLispImprovements
End Sub
Run Code Online (Sandbox Code Playgroud)
这个DataView
表的设置如下DataTable
:
这DataTable
将其主键设置为正确的字段.该Completed
字段有一个红色方块,只是为了向您展示我将其设置为布尔值.
看看我的DataGridView
:
这是我点击复选框的地方,该项目应该被过滤掉(因为没有勾选ShowAll复选框)
当我点击时CheckBox
,该项目保持在DataGridView
.为了将其过滤掉,我必须选择另一行.看一看:
当我改变行时,它最终会消失:
在选中完成的复选框后,如何让它立即删除?
PS:是的我有CurrentCellDirtyStateChanged事件处理程序.
Private Sub Lisp_dgvImprovements_CurrentCellDirtyStateChanged(sender As Object, e As System.EventArgs) Handles Lisp_dgvImprovements.CurrentCellDirtyStateChanged
If Lisp_dgvImprovements.IsCurrentCellDirty Then
Lisp_dgvImprovements.CommitEdit(DataGridViewDataErrorContexts.Commit)
End If
End Sub
Run Code Online (Sandbox Code Playgroud)