Типы ссылок по умолчанию равны null, чтобы указать, что они не ссылаются на какой-либо объект. Следовательно, если вы попытаетесь получить доступ к объекту, на который ссылаетесь, а его нет, вы получите исключение NullReferenceException.
Для Ex:
SqlConnection connection = null;
connection.Open();
Когда вы запускаете это кода, вы получите:
System.NullReferenceException: Object reference not set to an instance of an object.
Вы можете избежать этой ошибки, например, следующим образом:
if (connection != null){
connection.Open();
}
Примечание. Чтобы избежать этой ошибки, вы всегда должны инициализировать свои объекты прежде чем пытаться что-либо сделать с ними.
Невозможно сделать это, кроме настройки следующих параметров реестра:
HKLM\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
или если это 32-битное приложение на 64-битной Windows:
HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION`
Эти настройки не отображаются в элементе управления WebBrowser
.
Для получения дополнительной информации см .:
В каком режиме совместимости IE используется элемент управления веб-браузером?
blockquote>В случае, если ссылка замирает:
Вы создаете значение
DWORD
, соответствующее имени вашего исполняемого файла, и установите это значение в одно из следующих значений:7000: страницы, содержащие основанные на стандартах
blockquote><!DOCTYPE>
директивы, отображаются в режиме IE7. 8000: страницы, содержащие основанные на стандартах директивы<!DOCTYPE>
, отображаются в режиме 8888 IE8: страницы всегда отображаются в режиме IE8, независимо от директивы<!DOCTYPE>
. (Это исключает исключения, перечисленные ранее.) 9000: используйте настройки IE9! 9999: Force IE9Например:
[/g2]
Из моих собственных экспериментов с IE9:
- 9000 - наследует режим совместимости, установленный в настройке режима глобальной совместимости IE9. т.е.: [/g3]
- 9999 - вытесняет IE9 из режима совместимости в хост-приложении независимо от настройки режима совместимости в глобальном масштабе
Ваша заявка будет вероятно, необходимо определить, какая базовая версия IE доступна для определения того, какое значение использовать:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Version, или если это 32-битное приложение на 64-битной Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Versionтакже эта старая статья, когда вышел IE8, который стоит посмотреть:
Дополнительные улучшения расширяемости IE8
blockquote>Вы также можете настройте эти параметры для каждого пользователя в разделе:
HKCU\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
Я знаю, что это старый вопрос, но есть способ вставить заголовок в элемент управления webbrowser в Visual Basic 2010 и позже, чтобы отключить представление совместимости:
Первое, что вам нужно сделать это, чтобы поймать текущую веб-страницу, а затем заменить главный тег следующим образом:
Sub compatible()
' --- simple routine to disable compatible view.
Dim the_url As String
Dim message As String
Dim theReplacement As String
Dim oldMessage As String
the_url = WebBrowser1.Url.OriginalString
WebBrowser1.Navigate(the_url)
message = "<head>" + Chr(13) + Chr(10) + "<meta http-equiv=" + Chr(34) + "X-UA-Compatible" + Chr(34) + "content=" + Chr(34) + "IE=edge" + Chr(34) + " />" + Chr(13) + Chr(10) + "<base href=" + Chr(34) + the_url + Chr(34) + ">"
oldMessage = WebBrowser1.DocumentText.ToString()
theReplacement = Replace(oldMessage, "<head>", message)
WebBrowser1.DocumentText = theReplacement
End Sub
Этот код добавляет две следующие строки в элементе управления веб-браузером:
<meta http-equiv="X-UA-Compatible"content="IE=edge" />
<base href="(url of the web page)">
Вот худая проблема: если пользователь разрешает представление совместимости в IE8, то он будет переопределять все директивы страниц. Поэтому любая переменная страницы или сервера, которую вы пытаетесь использовать, не сможет помешать переключению IE на представление совместимости, если пользователь включил эту функцию в IE. Большинство людей думает, что директивы страницы или какая-то секретная переменная сервера заголовка исправит сайт. Неа. Ни одно из этих решений не работает, если настройка была переопределена вручную. Я знаю, это просто не круто. Таким образом, следующее будет работать, только если пользователь не включил функцию просмотра совместимости.
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
Чтобы прояснить шаги, чтобы изменить это в редакторе, отредактируйте ключ:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
Затем добавьте новый DWORD под названием iexplore.exe. Для этого щелкните правой кнопкой мыши и выберите «Создать»> «DWORD». Дайте этому DWORD десятичное значение 9999. Это сделает все сайты рендерингом без просмотра совместимости. Чтобы включить представление совместимости, снова удалите этот DWORD. Также, если вы хотите автоматизировать это изменение и запустить пакетный скрипт в своей системе, посмотрите скрипт Michal M.
Хотя это не то, что вы просили, если вы владеете сайтом, вы можете добавить следующее в раздел главы html.:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
См.: http://msdn.microsoft.com/en-us/library/cc288325 (v = vs.85) .aspx