小编Mik*_*oux的帖子

如何在C#中的XML文档注释之间跳转?

好吧,这是一个愚蠢的问题,但是当使用Visual Studio时,如果我在Visual Basic中编写XML文档注释,我可以使用tab键在字段之间切换(例如,摘要到Param到返回).但是,在C#中,按Tab键会插入一个Tab,所以我必须单击各个字段才能导航到它们(或使用箭头键).这使本来应该是一个简单而繁琐且耗时的过程.

有人知道我是否可以使用默认键盘快捷键,或者如果有特定命令我可以映射到未使用的键盘快捷键?我正在使用带有ReSharper 6.1的Visual Studio 2010.在SO档案中进行了一些搜索,但是没有其他人有这个问题,或者我不知道要问的正确关键字(后者更有可能).提前致谢!

编辑:我应该澄清一下.VB中的Tab键行为是Visual Studio 2010的原生行为; ReSharper安装是相当新的(在我切换到C#之后),我想提一下,以防有人知道ReSharper是否为此增加了他们自己的导航快捷方式(因为他们有吨).再次感谢!

c# resharper keyboard-shortcuts visual-studio-2010 xml-comments

19
推荐指数
1
解决办法
779
查看次数

PowerShell模块函数不继承WhatIf

-WhatIfTL;DR:为什么从脚本调用时模块函数不会隐式继承?

据我了解,cmdlet 和函数将继承诸如-WhatIf调用脚本之类的开关,但是我看到的行为表明情况并非总是如此。我已确认如何在调用其他 Cmdlet 的 Cmdlet 中支持 PowerShell 的 -WhatIf 和 -Confirm 参数?对我来说工作正常,但是当我的脚本调用模块中定义的函数时,问题似乎发生了。

就我而言,我有一个脚本,其中包含本地定义的函数(即在 PS1 中)文件。该脚本导入一个脚本模块。当我使用开关运行主脚本时-WhatIf,本地函数继承-WhatIf状态,但模块函数不会表现出“WhatIf”行为,这可能是灾难性的。

如果我显式调用开关集Show-WhatIfOutput-WhatIf它会按预期工作。

如果我将Call-ShowWhatIf函数从脚本移动到模块并使用它,Call-ShowWhatIf -WhatIf它就可以正常工作。也就是说,Show-WhatIfOutput确实已-WhatIf隐式设置,但这不是我可以在实际情况中使用的解决方案。

更简单的是,如果我启用SupportsShouldProcess在主脚本上启用,则会出现相同的模式:本地函数将继承开关;但是,模块功能不会。

-WhatIf为什么从脚本调用模块函数时不继承?


测试代码

测试-WhatIf.psm1

function Show-WhatIfOutput {
    [CmdletBinding(SupportsShouldProcess)]
    param(
    )

    Write-Host $MyInvocation.Line.Trim()

    if($PSCmdlet.ShouldProcess("My host","Display WhatIf text")){
        Write-Warning "This is not WhatIf text!"
    }

    Write-Host ("-"*40)
}
Run Code Online (Sandbox Code Playgroud)

测试-WhatIf.ps1

Import-Module C:\Test-WhatIf.psm1 -Force

function Call-ShowWhatIf {
    [CmdletBinding(SupportsShouldProcess)]
    param(
    )

    Write-Host …
Run Code Online (Sandbox Code Playgroud)

testing powershell module function

8
推荐指数
1
解决办法
745
查看次数

在现有的多页PDF中使用iTextSharp/VB将单页旋转90度

我正在尝试将iTextSharp集成到现有的Document Imaging应用程序中,该应用程序允许用户旋转可能以不正确的角度扫描的单个页面(它发生的次数比我想象的要多).

我有实际页面数据在90/180度范围内正确旋转,但页面方向不随其一起旋转.我刚刚开始使用iTextSharp,所以我对它的方法仍然有点不熟悉,但是能够使用StackOverflow的帖子拼凑到目前为止的内容.它很接近,但并不完全存在.

这是我到目前为止所拥有的:

' Get the input document and total number of pages
Dim inputPdf As New iTextSharp.text.pdf.PdfReader(fileName)
Dim pageCount As Integer = inputPdf.NumberOfPages

' Load the input document 
Dim inputDoc As New iTextSharp.text.Document(inputPdf.GetPageSizeWithRotation(1))

' Set up the file stream for our output document
Dim outFileName As String = Path.ChangeExtension(fileName, "pdf")
Using fs As New FileStream(outFileName, FileMode.Create)
    ' Create the output writer
    Dim outputWriter As iTextSharp.text.pdf.PdfWriter = iTextSharp.text.pdf.PdfWriter.GetInstance(inputDoc, fs)
    inputDoc.Open()

    ' Copy pages from input to output document
    Dim …
Run Code Online (Sandbox Code Playgroud)

vb.net pdf rotation itext

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

使用LINQ查询进行DataGridView单元格搜索

我对LINQ来说还是比较陌生的,并且比任何事情都做得更磕磕绊绊,但我真的很喜欢到目前为止看到的内容.因此,考虑到这一点,我有一个VB.NET搜索例程,下面提供了一部分,它检查DataGridView中给定字符串(包括)的所有Text单元格,使用一组基本的嵌套循环来执行搜索:

' Search for the first occurrence of the given string
For Each row As DataGridViewRow In dgvMembers.Rows
    ' Skip the new row
    If row.IsNewRow Then Exit For

    ' Loop through all the cells in the current row
    For Each cell As DataGridViewCell In row.Cells
        ' Skip non-text cells
        If cell.GetType IsNot GetType(DataGridViewTextBoxCell) Then Continue For

        ' Search for our matching text
        If cell.Value.ToString.ToUpper.Contains(searchText) Then
            ' Select the cell if we have a match
            dgvMembers.CurrentCell = cell
            WriteMessage("String '{0}' found.", …
Run Code Online (Sandbox Code Playgroud)

linq vb.net datagridview subquery

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

Decimal.TryParse在TextBox.Leave和TextBox.LostFocus上失败

这一直是我遇到的最令人沮丧的愚蠢错误之一,我只是想看看其他人是否曾遇到此问题.

这是交易.我在VB 2008(.NET 3.5)中的Windows窗体应用程序中有一个TextBox,用户可以在其中键入估计数量.我允许他们兑换美元和美分,我想要四舍五入到最接近的美元.原始代码在将数据写回表时进行了舍入,并且工作正常 - 我将此代码放在"保存"例程中,当用户移动到不同的屏幕或记录时触发该例程:

    Dim est As Decimal : Decimal.TryParse(txtEstimateAmount.Text.Trim, est)
    Dim estimatedAmount As Integer = Math.Round(est)
Run Code Online (Sandbox Code Playgroud)

我决定,一旦他们离开现场实际进行舍入可能会很好,所以当他们重新加载屏幕并发现1822.60现在是1823时他们并不感到惊讶.所以我采用完全相同的代码并添加它到TextBox.Leave事件处理程序.并且发生了最奇怪的事情:在解析之后,不是使用1822.60填充变量est,而是将其设置为-1!什么......?

调试处理程序会显示该值正确进入解析器,如果我通过Immediate窗口手动解析,它会正确解析,但是当我让代码执行时,它总是设置为-1.甚至更奇怪的是,任何数字都被解析为-1,而不仅仅是小数,任何非数字都被解析为0(这是正确的).

有没有其他人遇到过这个?我尝试将代码移动到TextBox.LostFocus事件,但结果相同.我不知道到底发生了什么,显然有很多变通方法,但它没有任何意义.

编辑:这是完整的事件处理程序(当前行为是在TextBox中放置-1):

Private Sub txtEstimateAmount_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtEstimateAmount.Leave
    ' Take any dollars-and-cents amount and round to the nearest dollar
    Dim est As Decimal
    est = Decimal.TryParse(txtEstimateAmount.Text.Trim, est)
    txtEstimateAmount.Text = If(est <> 0, Math.Round(est).ToString(), String.Empty)
End Sub
Run Code Online (Sandbox Code Playgroud)

vb.net textbox decimal .net-3.5 winforms

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

为什么TextBox控件上没有IsReadOnlyChanged事件?

我正在添加一些解决方法代码来修复 这个在DotNet 4 WPF拼写检查中出现的错误?(当一个WPF文本框的变化Enabled, VisibleReadOnly状态,直到您禁用任何拼写检查自定义词典得到下车重新启用拼写检查)和简单的解决办法似乎是处理IsVisibleChanged,IsEnabledChangedIsReadOnlyChanged事件.

简单吧?除非有没有IsReadOnlyChanged事件.任何人都知道为什么以及IsReadOnly在WPF TextBox中捕获更改的最佳方法是什么?

wpf textbox spell-checking readonly event-handling

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