在Windows窗体中启用窗体c#,当我更改它时启用不会更改

时间:2016-04-14 16:01:38

标签: c# windows forms

<?php
date_default_timezone_set('Europe/Berlin');
setlocale(LC_TIME, 'de_DE');
$timestamp = strtotime('monday this week');
$holidays = array('Sonntag 17.04.','Dienstag 19.04.','Mittwoch 20.04.');
$enHolidays = array_map('daysToEn',$holidays);

$days = array();
for ($i = 0; $i < 14; $i++) :
 $days[] = strftime('%A %d.%m.', $timestamp);
 $timestamp = strtotime('+1 day', $timestamp);
endfor;

foreach($days AS $day) :
if (in_array($day, $enHolidays)) :
echo daysToDe($day) . ' is a holiday and ' . daysToDe(strftime('%A', strtotime($day))) . '<br />';
else :
echo $day . '<br />';
endif;
endforeach;


function daysToEn($dayName) {
    $engDays = array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday');
    $duDays = array('Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag','Sonntag');
    return str_replace($duDays,$engDays,$dayName);
}

function daysToDe($dayName) {
    $engDays = array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday');
    $duDays = array('Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag','Sonntag');
    return str_replace($engDays,$duDays,$dayName);
}

由于某种原因,control.enabled根本没有变化。 我无法理解为什么:(,我可以接受任何建议而不是EnableControls功能。 谢谢你的帮助:)

1 个答案:

答案 0 :(得分:0)

嗯,你有一个逻辑问题,看看你在做什么:

  • 取一个control = Ctrl1
  • 禁用父级为Ctrl1的任何控件
  • 禁用Ctrl1

因此...

  • 选择一个control = Ctrl2
  • 启用Ctrl2
  • 启用父级和父级的父母 Ctrl2
你知道吗?你只是重新启用父母,而不是“兄弟控制”。因此,您只需要接收父级,将enable设置为true,并将所有chield都设置为true。