SathishRam Ответов: 1

Как установить переключатель fore color в положение disabled


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

например : включить переключатель цвет черный НД форма цвет синий, если отключить любую из кнопок радио-текста цвет шрифта переднем плане умолчанию цвет

Что я уже пробовал:

я уже пробовал этот код

Если Он Не Включен, То
rbtnTransCardwiseOnetime.BackColor = Цвет. Розовый

rbtnTransCardwiseOnetime.ForeColor = Цвет.FromArgb(169

1 Ответов

Рейтинг:
6

Karthik_Mahalingam

попробовать это

Dim allRadioButtons() As RadioButton = New RadioButton() {radioButton1, radioButton2, radioButton3, radioButton4}
For Each radio As RadioButton In allRadioButtons
    If radio.Enabled Then
        radio.ForeColor = System.Drawing.Color.Black
    Else
        radio.ForeColor = Me.BackColor
    End If
    
Next


SathishRam

К Сожалению Картик,
по-прежнему отключенный переключатель принимает цвет по умолчанию(синий). Он работает только для включенного радиобуттона

Karthik_Mahalingam

ладно, я понял, подожди

Karthik_Mahalingam

попробовать это
я сделал это на c#, преобразовал его в vb и chk

частная Form3_Load недействительным(объект отправителя, EventArgs в электронной)
{
RadioButton[] allRadioButtons = new RadioButton [] {radioButton1, radioButton2, radioButton3, radioButton4 };
радио по каждому элементу (RadioButton в allRadioButtons)
{
если (Радио.Включенный)
радио.ForeColor = Система.Рисование.Цвет.Черный;
ещё
{
радио.ForeColor = это.Задний цвет;
радио.Краска += radio_Paint;


}
}

}

radio_Paint недействительным(объект отправителя, объект painteventargs е)
{
ВАР радио = (отправителя переключатель);
строковый текст = радио.Текст;

Контрольная краска.DrawStringDisabled(электронная.Графика, текст, эта.цвет шрифта.Синий, новый прямоугольник(16, 2, радио.Ширина, радио.Высота), StringFormat.GenericTypographic);

}

CodeTranslator: код перевод с VB.NET &амп;ЛТ;-&амп;ГТ; на C# &амп;ЛТ;-&амп;ГТ; машинопись &амп;ЛТ;-&амп;ГТ; Ява[^]

SathishRam

привет Картик,
Мы получаем ошибку в этой строке " радио.Краска += radio_Paint;"

Ошибка:
радио.Краска = (радио.Краска + radio_Paint())


Аргумент не указан для параметра 'e' из ' Public Sub radio_Paint(sender As Object, e As System.Окна.Формы.Объект painteventargs)'.

Karthik_Mahalingam

привет Сатиш
как я уже сказал, это код c#, преобразуйте его в vb

SathishRam

Да, картхик мы использовали только в VB. Позвольте мне написать здесь......


Dim allRadioButtons () As RadioButton = New RadioButton () {rbtnRemitter, rbtnNpciData, rbtnEscrowBalance, rbtnTopupdetails, rbtnTranSummary, rbtCardWiseSummary, rbtnTransCardwise, rbtnTransCardwiseOnetime, rbtnChannelPartnerWise, rbtnChannelWise, rbtnLPUmonthly, rbtnreconcilationpci, rbtnExpiryCardDayWise}

Для каждого радио как RadioButton в allRadioButtons
Если Радио.Включается Тогда
радио.ForeColor = Система.Рисование.Цвет.Черный
Ещё
радио.ForeColor = Me. BackColor
(Здесь я получаю ошибку) радио.Краска = (радио.Краска + radio_Paint())
Конец, Если

Следующий

Частная суб radio_Paint(как byval отправителя как объект, как byval E как объект painteventargs)
Dim radio = CType(sender, RadioButton)
Тусклый текст в виде строки = радио.Текст
Контрольная краска.DrawStringDisabled(электронная.Графика, текст, мне.Шрифт, Цвет.Синий, новый прямоугольник(16, 2, радио.Ширина, радио.Высота), StringFormat.GenericTypographic)
Конец Подводной Лодки

Karthik_Mahalingam

проверить это
http://stackoverflow.com/a/7382220/1147428

SathishRam

Картик,

Можете ли вы дать какое-либо ясное объяснение

Передний цвет для отключенного переключателя в форме Win

Karthik_Mahalingam

я расскажу вам один альтернативный метод, попробуйте это
создайте переключатель с пустым текстом и поместите рядом с ним метку,
основываясь на включенном отключенном состоянии переключателя, измените цвет метки ?
ясно ???

SathishRam

Да, это сработало. На самом деле я сделал это до того, как сам УР прокомментировал.

Спасибо Тебе Картик

Karthik_Mahalingam

:) добро пожаловать, Сатиш

SathishRam

Спасибо, вы отлично поработали !!!!!

Karthik_Mahalingam

:)