如题

解决方案 »

  1.   

    procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
      stringgrid1.Col :=3;
      stringgrid1.Row :=4;
    end;
    有点不明白;
      

  2.   

    private
        fCol, fRow : Integer;//定义两个全局变量记录位置
    //给变量初始化
    procedure TForm1.StringGrid1Enter(Sender: TObject); 
    begin
      fCol := StringGrid1.Col;
      fRow := StringGrid1.Row;
    end;//判断内容是否合法
    procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
      ARow: Integer; var CanSelect: Boolean); 
    begin
      CanSelect := True;
      try
        if ((fCol = 3) and (ACol <> 3)) or
           ((ARow <> fRow) and (ACol = fCol) and (ACol = 3)) then
          if StringGrid1.Cells[fCol, fRow] <> '' then
            if StrToInt(StringGrid1.Cells[fCol, fRow]) > 1 then//判断单元格内容是否合法
            begin
              ShowMessage('Error');
              CanSelect := False;
              Exit;
            end;
      except
        CanSelect := False;
        Exit;
      end;  fCol := ACol;
      fRow := ARow;
    end;