C#日历样式的下拉式计算器实例讲解

2019-12-26 13:38:30王冬梅

 

 
  1. private CalculatorPick calculator;    
  2. public form1()   {  
  3. calculator = new CalculatorPick();    
  4. calculator.Visible = false;   dataGridView2.Controls.Add(calculator);  
  5. }    
  6. private void dataGridView2_CellClick(object sender, DataGridViewCellEventArgs e)   {  
  7. if (e.ColumnIndex == clmCommision.Index)   {  
  8. Rectangle calRect = dataGridView2.GetCellDisplayRectangle   (e.ColumnIndex, e.RowIndex,false);  
  9.   Point p = calculator.FindForm().PointToClient  
  10. (calculator.Parent.PointToScreen(calculator.Location));   p.X -= calculator.Width/3;  
  11. p.Y += calculator.Height;   calculator.LocPoint = p;  
  12.   calculator.Width = calRect.Width/3;  
  13. calculator.Height = calRect.Height;    
  14. calculator.Visible = true;   calculator.Calculator.btnEqual.Click += new EventHandler(calculatorBtnEqlClicked);  
  15. }   else 
  16. if(calculator!=null)   calculator.Visible = false;  
  17. }    
  18. void calculatorBtnEqlClicked(object sender, EventArgs e)   {  
  19. dataGridView2.CurrentCell.Value = calculator.Calculator.Result.ToString();   }