문제

사리:

  • 2 개의 탭이있는 tabcontrol이 있고 각 탭에는 2 개의 dateMepicker가 있습니다.
  • 로드 이벤트에서 모든 DTP의 값을 설정했습니다.
  • 모든 DTP에는 True에 ShowCheckboxes가 설정되어 있으며 False에서 확인 된 설정이 있습니다.
  • 프로그램을 실행하면 첫 번째 탭의 DTP가 괜찮지 만 두 번째 탭에서 DTP를 확인하면로드 이벤트에 설정된 시간이 아니라 현재 시간이 표시됩니다.

왜 이런 일이 일어나나요? 어떻게 피할 수 있습니까?

도움이 되었습니까?

해결책 3

이 문제에 대한 내 추악한 해결 방법은 값을 변경하기 전에 DTP가 상주하는 탭 세트로 구성됩니다.

DateTime dat1 = DateTime.Today;
DateTime dat2 = dat1.AddDays(1).AddSeconds(-1);

dtpCreatedStart.Value = dat1;
dtpCreatedEnd.Value = dat2;
tbc.SelectTab(1);
dtpModifiedStart.Value = dat1;
dtpModifiedEnd.Value = dat2;
tbc.SelectTab(0);

다른 팁

나는 문제가 무엇인지 알아 냈습니다.

그만큼 Value 속성은 새로운 값 만 설정합니다 DateTimePicker 제어가 보입니다. 그렇지 않으면 명령이 무시됩니다.

테스트 케이스 :

작동하지 않습니다 :

 this.picker = new DateTimePicker
        {
            Checked = false,
            Font = new System.Drawing.Font("Verdana", 9.75F),
            Format = System.Windows.Forms.DateTimePickerFormat.Time,
            Location = new System.Drawing.Point(5, 5),
            Name = "picker",
            ShowUpDown = true,
            Size = new System.Drawing.Size(120, 23),
            Visible = false
        };
        this.Controls.Add(this.picker);
        this.picker.Value = this.picker.Value.Date.AddHours(1);
        this.picker.Visible = true;

공장:

 this.picker = new DateTimePicker
        {
            Checked = false,
            Font = new System.Drawing.Font("Verdana", 9.75F),
            Format = System.Windows.Forms.DateTimePickerFormat.Time,
            Location = new System.Drawing.Point(5, 5),
            Name = "picker",
            ShowUpDown = true,
            Size = new System.Drawing.Size(120, 23),
            Visible = false
        };
        this.Controls.Add(this.picker);
        this.picker.Visible = true;
        this.picker.Value = this.picker.Value.Date.AddHours(1);

프로그램 적으로 픽커를 추가하는 것과 관련이없는 것 같습니다.

DateTimePicker의 점검 된 속성과 관련이 있습니다. 일반적으로 거짓으로 설정됩니다. 적어도 그것은 나에게 문제였습니다.

DateTimePicker를 설정 한 후 TRUE로 확인한 후 설정에서 값을 검색했습니다.

DateTimePicker는 가치를 저장하고 검색하는 데 몇 가지 문제가 있습니다. 값을 무효화 할 수없는 DateTime에 바인딩 할 때 문제가있었습니다. 왜 또는 언제. 때로는 방금 일어 났고 앱을 추락했습니다.

방금 두 개의 dateTimepickers를 사용하여 같은 문제를 해결했습니다. 나는 그것들을 동적으로 생성하고 양식에 추가함으로써 올바른 값을 보여줄 수있었습니다.

작동하지 않으면 언제든지 다른 피커를 사용해 볼 수 있습니다. 그만큼 모든+시간 (TM) DatePicker/TimePicker Ajax 캘린더 위젯 관련 필드에서 값을 가져 오므로 값으로 필드를 초기화하거나 필드를 변경하면 값 (예 : Onload)을 변경하면 픽커가 표시 될 때 얻을 수 있습니다. 문제가있는 경우 연락처 페이지를 통해 메시지를 제출하면 최대한 빨리 해결됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top