Рейтинг@Mail.ru
aave

aave

Print Friendly, PDF & Email

Допустим, у вас в компьютере установлен диск (HDD или SSD – неважно), подключённый по интерфейсу SATA. Вы решили докупить новый SSD диск с интерфейсом M.2 и поставить его дополнительно к первому. Вы вставляете новый M.2 диск в компьютер, а старый диск при этом перестаёт определяться как в операционной системе, так и в BIOS. Из-за чего такое бывает и что при этом делать?

Дело в том, что ваш M.2 диск, скорее всего, также работает по протоколу SATA , и для его работы необходимо как минимум два SATA порта. Диск M.2 «отбирает» себе ресурсы и отключает как минимум два SATA порта у вашей материнской платы, которые до этого использовались первым диском. Поэтому исходный диск больше не может работать.

Диски M.2 SSD различаются расположением и количеством ключевых вырезов
Диски M.2 SSD различаются расположением и количеством ключевых вырезов

Чтобы решить эту проблему, просто переключите ваш первый диск на другой ряд SATA разъёмов (конечно, если у вас стационарный ПК). Тогда ресурсы SATA шины распределятся между дисками без конфликтов, и ваш первый диск снова станет видеться в системе и восстановит нормальную работоспособность.

Print Friendly, PDF & Email
Подробнее ...
Print Friendly, PDF & Email

Для передачи события прокрутки колеса мыши родительскому элементу, сначала определим в XAML событие PreviewMouseWheel.

<TreeView PreviewMouseWheel="ScrollingToParent" />

Теперь напишем обрабатывающий это событие метод таким способом:

''' <summary>
''' Обеспечивает передачу события прокрутки колеса мыши родительскому элементу.
''' </summary>
Private Sub ScrollingToParent(sender As Object, e As MouseWheelEventArgs)
    e.Handled = True
    Dim e2 As New MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta) With {
        .RoutedEvent = UIElement.MouseWheelEvent,
        .Source = sender
    }
    Dim parent As UIElement = CType(CType(sender, Control).Parent, UIElement)
    parent.RaiseEvent(e2)
End Sub
Print Friendly, PDF & Email
Подробнее ...
Print Friendly, PDF & Email

Среда .NET позволяет переопределять стандартные операторы. В частности, оператор CType(). Однако большинство примеров даются на языке C#. Чтобы переопределить оператор CType() в языке VB.NET, нужно поступить следующим образом:

Public Shared Widening Operator CType(m As MyClass) As String
	Return $"Это тип {m.GetType()} приведён к типу System.String."
End Operator

Здесь ключевое слово widening является указанием на то, что данное преобразование типов является расширяющим преобразованием (в отличие от narrowing – сужающего). Это значит, что при выполнении данного преобразования мы не потеряем данные, и оно может быть выполнено безопасно.

Замечу, что нельзя приводить тип к своему базовому классу, и наоборот: базовый – к дочернему.

Print Friendly, PDF & Email
Подробнее ...
Подписаться на этот канал RSS