小编Mat*_*lko的帖子

来自c#中服务器端代码的ModalPopupExtender

我做了个噩梦.

将ModalPopupExtender添加到表单很简单,您可以将其删除并告诉它两个必需的控件参数

PopupControlID="MyModalPanel"
TargetControlID="ButtonToLoadIt"
Run Code Online (Sandbox Code Playgroud)

它只是工作正常,但是由客户端点击目标控件触发.

如果你想在后面做一些服务器端代码??? 怎么做 ?

ajax c#-4.0

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

VS2015 Goto Definition显示元数据而不是对象浏览器

从Visual Studio .NET 2002开始,我习惯使用对象浏览器.

出于某种原因,VS2015(VB.NET)中的此行为已更改.所以现在Goto Definition命令显示混乱的元数据而不是精心安排的对象浏览器.

有谁知道如何关闭它?

vb.net visual-studio-2015

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

Environment.MachineName 是否有可能返回零长度字符串

我在客户站点上遇到一个奇怪的错误,想知道是否有Environment.MachineName可能返回零长度字符串。文档说这是从注册表中读取的,但没有指定在哪里。我无法想象一台机器不能有 netbios 名称而只是想问一下。

编辑

经过一番调查,这似乎没有返回零长度的字符串,但我只是对它是否可行感兴趣。

.net vb.net netbios visual-studio-2010

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

我可以只使用COM功能吗?(与<Runtime.InteropServices.ComVisible(False)>相反)

我在我的VB.NET DLL中有一些功能,我可以通过使用以下内容从我的VB6应用程序"隐藏":

<Runtime.InteropServices.ComVisible(False)> _
Run Code Online (Sandbox Code Playgroud)

但有没有办法让COM客户端只能看到一个函数,而不是.NET程序集?

这样我可以在.NET端使用共享方法,避免了实例声明的需要.

vb.net vb6 com com-interop vb6-migration

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

为什么不通过内置于.NET的Delegate调用

我知道.NET是多线程的,这是一件好事,但是当我有一个后台工作者时,我会不断遇到问题,例如在我的表单上更新一些控件,我必须这样做:

Private Sub SetRowCellBoolValueThreadSafe(ByVal row As Integer, ByVal col As Integer, ByVal value As Boolean)
    If dgvDatabase.InvokeRequired Then
        Dim d As New SetRowCellBoolValueCallback(AddressOf SetRowCellBoolValue)
        Me.Invoke(d, New Object() {row, col, value})
    Else
        SetRowCellBoolValue(row, col, value)
    End If
End Sub

Delegate Sub SetRowCellBoolValueCallback(ByVal row As Integer, ByVal col As Integer, ByVal value As Boolean)

Private Sub SetRowCellBoolValue(ByVal row As Integer, ByVal col As Integer, ByVal value As Boolean)
    dgvDatabase.Rows(row).Cells(col).Value = value
End Sub
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么这没有内置到框架中 - 当然,如果我想要更新DataGridView它,它应该足够聪明,知道更新何时来自另一个线程并且它可以完成上述所有操作?

.net c# vb.net delegates invoke

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

.NET 查找 Windows 睡眠设置

我想知道当前的 Windows 睡眠模式设置是什么,即它是否已打开以及计时器周期是多少。有任何想法吗?

我的偏好(按顺序)是:

  1. .NET 托管代码
  2. 应用程序接口
  3. 读取注册表值

.net c# vb.net sleep .net-4.0

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

Visual Studio 2013生成警告MSB3061无法从bin\Release Access Denied中删除

我收到警告MSB3061,表示无法删除输出文件(在此示例中为dll)

错误信息:

------ Rebuild All started: Project: CapInfo, Configuration: Release x86 ------
C:\Program Files\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(4319,5): warning MSB3061: Unable to delete file "C:\CapInfo\CapInfo\bin\Release\CapInfo.dll". Access to the path 'C:\CapInfo\CapInfo\bin\Release\CapInfo.dll' is denied.
  CapInfo -> C:\CapInfo\CapInfo\bin\Release\CapInfo.dll
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)

我在这方面看到的大多数解决方法都建议改变AssemblyVersionAssemblyFileVersion修复它,但对我来说情况并非如此.

我的情况这种情况一直发生,但只有某些解决方案,但所有都是通过炮轰MSBuild以相同的方式构建(在IDE中编译时也会出现错误)

在这种情况下我不能简单地删除文件,因为这是为COM互操作注册的,所以在编译期间VS取消注册它.如果文件被删除,则取消注册失败,并显示不同的警告消息)

我也尝试将以下内容添加到项目属性(.vbproj文件)中但没有成功:

<GenerateResourceNeverLockTypeAssemblies>true</GenerateResourceNeverLockTypeAssemblies>
Run Code Online (Sandbox Code Playgroud)

我也尝试过添加

if exist "$(TargetPath).locked" del "$(TargetPath).locked" 
if not exist "$(TargetPath).locked" if exist "$(TargetPath)" move "$(TargetPath)" "$(TargetPath).locked"
Run Code Online (Sandbox Code Playgroud)

到预建活动.这将创建锁定的文件,但仍会生成警告

最令人讨厌的部分是编译和复制实际上是有效的(VS重试然后它工作)所以我的问题是这样的

  1. 在这种情况下,还有其他可能对我有用的解决方案吗?
  2. 有没有办法在尝试删除文件之前为构建过程添加暂停?
  3. 我可以禁用此编译器警告(它不会显示在警告配置表中)

编辑:

这似乎与COM注册有关,因为如果我取消注册"注册COM Interop"我不再得到警告

EDIT2: …

.net msbuild compiler-warnings visual-studio visual-studio-2013

5
推荐指数
0
解决办法
4925
查看次数

VBA:UsedRange 未正确更新

每次使用UsedRange时,我都会遇到更新它的问题。我的代码中有这个:

Sheets("Campaign").UsedRange 'Refresh UsedRange
LastRow = Sheets("Campaign").UsedRange.Rows.Count
Run Code Online (Sandbox Code Playgroud)

这是为了检查特定工作表中使用的最后一行。现在,当您第一次运行它时,它可以工作并输出正确的整数,但如果您从行数最多的列中删除行,则不会更新。问题是,如果您向该特定列添加更多行,它会更新。

这是我的实际代码:

Sub CMPGN_MCRO()

    Sheets("Campaign").UsedRange 'Refresh UsedRange.
    LastRow = Sheets("Campaign").UsedRange.Rows.Count

    Dim RangeString As String
    Worksheets("Campaign").Select
    Range("A1:A" & LastRow).Select
    RangeString = Selection.Address

    Range("A1").End(xlToRight).Select
    RangeString = RangeString & ":" & Selection.Address 'Selects all the data in Campaign Worksheet.

    Dim C As Range
    i = 2
    For Each C In Worksheets("Campaign").Range(RangeString).Cells
      If Mid(C.Value, 6, 2) = "AC" Then
      Worksheets("Sheet3").Range("A" & i) = C.Value 'Echo out all the filtered data and output it to another worksheet.
      i …
Run Code Online (Sandbox Code Playgroud)

excel vba

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

是否与下划线(_)线延续相反?

下划线允许我做这样的事情

    Public Sub derp _
        (x As Integer)
        MsgBox(x)
    End Sub
Run Code Online (Sandbox Code Playgroud)

这有什么相反的表示法吗?例如,如果它是,那么我可以做

Public Sub derp(x as Integer) ¯ Msgbox(x) ¯ End Sub
Run Code Online (Sandbox Code Playgroud)

.net vb.net syntax compilation visual-studio

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

为什么我的Short在VB.net中包含4个字节

根据MSDN,Short数据类型由两个字节组成:https://msdn.microsoft.com/en-us/library/47zceaw7.aspx

但是如果我定义一个Short变量,内容总是4个字节:&HFFFFFFFF

Dim crc As Short = CShort(&HFFFFS) ' crc = &HFFFFFFFF
Dim crc As Short = &HFFFFS         ' crc = &HFFFFFFFF
Run Code Online (Sandbox Code Playgroud)

这句话甚至给我一个错误:

Dim crc As Short = CShort(&HFFFF) ' Error: Constant expression not representable in type 'Short'
Run Code Online (Sandbox Code Playgroud)

这有什么用?为什么我Short不占用两个字节?

MWE补充道:

Public Function CRC16(ByVal dataFrame As Byte(), ByVal dataLength As Int16) As Int16

    Dim index As Int16
    Dim crc As Short = &HFFFFS

    For iCount As Int16 = 0 To CShort(dataLength - …
Run Code Online (Sandbox Code Playgroud)

.net vb.net short

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