c# 怎样实现点击TextBox弹出日历控件,并在点击日历某时间时赋值给TextBox

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 怎样实现点击TextBox弹出日历控件,并在点击日历某时间时赋值给TextBox相关的知识,希望对你有一定的参考价值。

参考技术A 桌面程序?
先让日历控件monthCalendar1的Visible=false;
添加代码
private void textBox1_Click(object sender, EventArgs e)

monthCalendar1.Visible = true;


private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)

textBox1.Text = monthCalendar1.SelectionStart.ToShortDateString();
本回答被提问者采纳
参考技术B 差不多,楼上的回答,选择了日期之后还要记得visible=false掉calendar

Java+Selenium——如何处理日历控件——方法二

有些web产品,网页上有一些时间选择,然后支持按照不同时间段范围去筛选数据。网页上日历控件一般,是一个文本输入框,鼠标点击,

就会弹出日历界面,可以选择具体日期。这篇,就是介绍用selenium如何自动化脚本实现。

 

先看一个完全模仿手工操作的场景,点击输入框,点击下一个月,再点击一个日子。

package rjcs;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Set;

import org.openqa.selenium.interactions.Actions;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebElement;
import org.testng.annotations.Test;
import org.openqa.selenium.*;

import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import org.openqa.selenium.OutputType;

import com.thoughtworks.selenium.SeleneseTestNgHelper;

public class ckqhh 
{
    public static void main(String[] args)
    
    {
         System.setProperty("webdriver.firefox.bin","C:\Program Files (x86)\Mozilla Firefox\firefox.exe");    //设置火狐的安装路径,防止系统找不到
            
         FirefoxDriver driver = new FirefoxDriver();        //初始化FireFox浏览器实例,并打开浏览器
         
        try
        {
             driver.manage().window().maximize();         //最大化窗口
             
             Thread.sleep(3000);        
             
             driver.manage().window().maximize();         //最大化窗口
             
             Thread.sleep(3000);




             driver.get("http://jqueryui.com/resources/demos/datepicker/default.html");  
            
             Thread.sleep(2000);
             
             driver.findElement(By.id("datepicker")).click();
             
             Thread.sleep(8000);
             
             // 点击下一个月
             driver.findElement(By.xpath("//*[@id=‘ui-datepicker-div‘]/div/a[@data-handler=‘next‘]")).click();
             
             Thread.sleep(8000);
             
             // xpath定义第三行第五个元素,可能每个月排序不一样,所以不一定点击的就是17日
             driver.findElement(By.xpath("//*[@id=‘ui-datepicker-div‘]/table/tbody/tr[3]/td[5]/a")).click();

             
             Thread.sleep(5000);
             
        }catch (Exception e) 
        {
            e.printStackTrace();
        }finally 
        {
            driver.quit();
        
         }
   }
    

}

以上是关于c# 怎样实现点击TextBox弹出日历控件,并在点击日历某时间时赋值给TextBox的主要内容,如果未能解决你的问题,请参考以下文章

请问C#怎样在弹出的messageBox窗口上添加一个textBox控件?如果直接不能实现的话,应该怎样编写这样的控件

在C#的月历控件中,怎样得到被选中的日期?

C# textbox combobox恢复初始状态

C# 怎样把 DateTime.Now.Ticks转换为常规日期的形式

excel窗体中打开日历控件能否自动显示系统日期

求高手指点C#,DataGrid控件想点击某行就在TextBox中显示