Как я могу получить доступ к свойству background-color страницы, чтобы изменить? - PullRequest
1 голос
/ 31 декабря 2011

У меня есть выпадающий список, в котором перечислены цвета. Когда выбран цвет, я хочу изменить цвет фона самой страницы.

Я использую Visual Studio 2008 и VB.Net.

Ответы [ 4 ]

2 голосов
/ 31 декабря 2011

Вы вообще искали?

PageBody.Attributes("bgcolor") = "green"

Убедитесь, что вы установили для элемента body значение runat = "Server"

<body id ="PageBody" runat ="server">

Взято из здесь

0 голосов
/ 31 декабря 2011

Не знаю, почему вы хотите сделать полный постбэк на сервер, чтобы вы могли изменить цвет фона страницы, но вот быстрое и простое решение javascript на стороне клиента.

Рабочая демонстрация здесь .

<!-- HTML -->
<select id="sample">
   <option value="white">White</option>
   <option value="red">Red</option>
   <option value="yellow">Yellow</option>
   <option value="blue">Blue</option>
</select>


// JavsScript
<script>

   document.getElementById("sample").onchange = function(){
      document.body.style.background = this.options[this.selectedIndex].value;
   }

</script>

Или, вы можете следовать своей первоначальной мысли и сделать это на стороне сервера ... но это похоже намного больше работы.Я полагаю, что имеет смысл, если вам нужно сохранить цвет фона в переменной на стороне сервера для других целей (тематика, личные настройки и т. Д.) ... но файлы cookie на стороне клиента, как правило, являются лучшим местом для такого рода вещей.

0 голосов
/ 31 декабря 2011

Использовать JavaScript:

<select onChange="changeBackground()" id="myselect"><option></option><option value='black'>black</option></select>


<script type="text/javascript">
function changeBackground(){
   var select = document.getElementById("myselect");
   var color = select.options[select.selectedIndex].value;
   document.bgColor = color;
}
</script>
0 голосов
/ 31 декабря 2011

Хорошо, вот код, который меняет цвет фона самого поля со списком при изменении выделения:

    Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
    With ComboBox1
        Select Case .Text
            Case "red"
                .BackColor = Color.Red
            Case "green"
                .BackColor = Color.Green
            Case "blue"
                .BackColor = Color.Blue
            Case Else
                .BackColor = Nothing

        End Select
    End With
End Sub

Если вы хотите изменить цвет фона всей winform, используйте me.BackColor= ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...