Tag: vb.net

是否可以使用TagLibSharp从MP3文件中删除Lyrics3v2标签?

我想知道是否可以使用TagLibSharp库从MP3文件中删除Lyrics3v2标签类型。 该文档说块条目以单词“ LYRICSBEGIN ”开头并以“ LYRICS200 ”结尾,同时它表示应该存在ID3标签以存在Lyrics3v2标签……但它没有指定是否引用ID3v1或ID3v2标签,或其中任何一个,反正我不明白那部分,因为Lyrics3v2标签是单一标签类型,不是ID3v1 / ID3v2标签类型的一部分,它在mp3标头上有自己的条目所以……我不明白它对ID3v1 / ID3v2 “依赖”意味着什么。 无论如何假设信息是正确的,那么我应该能够使用TagLibSharp从包含Lyrics3v2标签的mp3文件中删除ID3v1和ID3v2标签,然后该标签也将被删除?但是,标签仍然存在。 此外,暴露TagLibSharp类的Lyrics属性似乎不会影响Lyrics3v2标记,所有这些都非常令人困惑。

通过.net中的SqlTransaction禁用对表的读/写?

如何在.net 2.0中使用SqlTransaction,以便当我开始从表中读取数据时,该表被阻止其他人(其他程序)读取/写入该表? 如果SqlTransaction不是一个好的选择,那是什么?

检测客户端的正确方法已从TCP / IP断开连接

我使用了异步TCP / IP服务器,一切正常,但是当客户端由于错误或强制退出应用程序而断开连接时,由于IO.IOException类型的exception,它也会关闭我的服务器。 以下子发生exception: Private Sub ReadCallback(ByVal result As IAsyncResult) Try Dim client As Client = TryCast(result.AsyncState, Client) If client Is Nothing Then Return End If ‘MsgBox(client.ClientID) Dim networkStream As NetworkStream = client.NetworkStream Dim read As Integer = networkStream.EndRead(result) **’ ERRORS HERE!** If read = 0 Then Dim client As Client = TryCast(result.AsyncState, Client) SyncLock […]

如何在C#或VB.NET中确定图像是否为灰度?

首先 首先,请注意,此问题中给出的答案对所有灰度图像都不起作用,并且还注意到在另一个问题中接受的答案根本没有解释如何确定图像是否为灰度图像,但无论如何它不符合我的需求,因为它似乎只涵盖JPEG和TIFF图像,并假设它们将具有EXIF元数据及其中的必需字段。 (我无法理解为什么人们确定我链接的第一个问题是我所链接的第二个问题的“重复”……) 最后, 这个最后接受的答案缺乏一个工作和演示的代码示例,但无论如何都无济于事,因为作者使用Bitmap.GetPixel()函数引用了缓慢且弃用的方法,但我们应该使用Bitmap.LockBits()函数而是为了获得更高的性能优势。 情景 我有一些GIF,JPG,BMP和PNG图像,我需要确定它们是灰度图像还是不是灰度图像。 对于GIF文件,我只关心分析第一帧。 我对图像的数据结构,像素颜色位和那些东西没有多少经验/意识,我只知道非常基础。 所以,如果我错过了重要的信息,我应该提供我将要测试的图像的任何信息,那么请问我,但无论如何要考虑到我想为“所有”类型的图像创建一个通用的解决方案,好吧,不是全部,但至少这些格式:BMP,JPG,GIF和PNG。 在提到的那些图像格式中,我的最高优先级是GIF图像,我将意味着如果能够确定GIF图像是否为灰度的方法不能用于分析其他类型图像的方法,那么我将接受仅涵盖GIF图像像素处理的答案。 题 我认为我的需求很明确:我如何确定图像是否为灰度? 如果它根本不清楚,为了避免我可以做到你可以浪费你的时间: 该解决方案必须至少适用于GIF图像。 (记住,我只关心GIF中的第一帧),但如果提供的解决方案对BMP,JPG和PNG也有效,那么它当然总是更好。 该解决方案必须关注PixelFormat.Format32bppRgb灰度图像。 解决方案一定不能使用Bitmap.GetPixel()函数,而必须使用Bitmap.LockBits() 。 我不是要求解释,伪代码也没有关于图像结构/格式/像素等文档的外部链接,我要求一个有效的代码示例(当然,如果作者覆盖图像结构/像素技术,总是更好提供除代码之外的基本解释)。 在C#或VB.NET中,选择并不重要。 研究 这是我到目前为止所做的。 我试图理解确定图像是否为灰度的点,我也不确定我的条件是否与bytesPerPixel变量一致,以及我的RGB值分配是否正确,因为我从一开始就说我不是图像处理专家所以我可能错过了重要的事情…… VB.NET Public Shared Function IsImageGrayScale(ByVal img As Image) As Boolean Select Case img.PixelFormat Case PixelFormat.Format16bppGrayScale Return True Case Else Dim pixelCount As Integer = (img.Width * img.Height) Dim bytesPerPixel As Integer […]

如何创建多个窗口服务实例?

我想运行服务器上安装的窗口服务的多个实例,而无需再次安装窗口服务。 这怎么可能?

如何就地刷新combobox项目?

ComboBox Items集合是一个ObjectCollection,所以当然你可以在那里存储任何你想要的东西,但这意味着你不会像使用ListViewItem一样获得Text属性。 ComboBox通过在每个项目上调用ToString()来显示项目,或者如果设置了DisplayMember属性则使用reflection。 我的ComboBox处于DropDownList模式。 我有一种情况,当用户选择它时,我想刷新列表中单个项目的项目文本。 问题是ComboBox除了加载之外不会在任何时候重新查询文本,除了删除和重新添加所选项目之外,我无法弄清楚除了删除和重新添加所选项目之外我还想做什么: PlantComboBoxItem selectedItem = cboPlants.SelectedItem as PlantComboBoxItem; // … cboPlants.BeginUpdate(); int selectedIndex = cboPlants.SelectedIndex; cboPlants.Items.RemoveAt(selectedIndex); cboPlants.Items.Insert(selectedIndex, selectedItem); cboPlants.SelectedIndex = selectedIndex; cboPlants.EndUpdate(); 这段代码工作正常,除了我的SelectedIndex事件最终被触发两次(一次在原始用户事件上,然后再次在我重新设置此代码中的属性时)。 在这种情况下,事件被触发两次并不是什么大问题,但效率低下,我讨厌这个。 我可以装备一个标志,以便它第二次退出事件,但这是黑客攻击。 有没有更好的方法让这个工作?

Roslyn:将C#转换为VB

我有一个案例,我需要将C#转换为VB.NET项目。 (我想自动化这个,所以我不能使用在线工具或类似的东西) 有一个“粘贴为C#/ VB”样本视觉工作室扩展 ,似乎能够做到这一点。 我试过转换这个类: namespace TestApplication { class Class1 { /// /// Lorem /// public void Lorem() { } } } 但它最终得到了这个: Namespace TestApplication Class Class1 ”’ Lorem Public Sub Lorem() End Sub End Class End Namespace 它不仅发生在提供XML文档注释时,而且有时在inheritance其他类时也会发生。 这是处理样本转换的代码: csharpToVisualBasicConverter.Convert返回一个SyntaxNode实例。 private void PasteAsVB() { var csharpCode = Clipboard.GetText(TextDataFormat.Text); var tree = CS.SyntaxTree.ParseText(csharpCode); var […]

WPF中的CommandLink

有人能告诉我如何在WPF窗口中添加CommandLink控件? 这就是CommandLink的意思: http : //msdn.microsoft.com/en-us/library/aa511455.aspx

是否有可以跨解决方案文件使用的重构工具?

我见过的所有C#和VB.Net的重构工具都只考虑了单个visual studio解决方案中的源代码。 无论好坏,我们的大型 (许多相关程序)系统都分布在许多解决方案文件中,但是: 所有代码都在一个Windows文件夹下。 我们的基于nAnt的构建系统,在windows文件夹中构建所有文件以生成单个dll(比这更复杂但对此问题并不重要)。 因此,单个根文件夹下的所有“.cs”和“.vb”文件都是系统的一部分。 所以我正在寻找重构和逆向工程工具,它们将单个文件夹作为输入并对该文件夹下的所有文件执行操作。 (这些工具可能需要一些帮助来决定“公共”和“内部”的含义,但是当“代码树”是包含代码和任何子代的文件夹时,大多数时候“内部”意味着“在同一代码树中”文件夹。) 现在我很贪婪,我希望这些工具可以创建很多已经完成的重构,并且能够重放重构。 然后我可以尝试理想,如果他们工作,扔掉我的代码,获取最新的代码,你做重构并检查代码之前任何人更改文件。 (同样,当分支需要合并时)

在Windows资源管理器中打开文件夹结构时,DirectoryInfo.Delete(True)不会删除

假设我有一个文件夹结构,如: C:\ MYTEMP – MySubFolder 如果我尝试删除此使用: Dim path As String = “C:\MyTemp” Dim di As System.IO.DirectoryInfo di = System.IO.Directory.CreateDirectory(path) di.CreateSubdirectory(“MySubFolder”) di.Delete(True) 这工作正常, 除非我打开Windows资源管理器 ,我正在查看’MySubFolder’目录。 然后我得到一个IOException 该目录不为空。 – 单击“确定”将取消此操作,然后不删除文件夹结构。 有关如何正确执行此操作(即删除)的任何想法,即使在Windows资源管理器中打开文件夹结构时运行此代码也是如此?