오전 오후, VB.NET에서 수학 공식 유형 쿼리가 있습니다 화면이 있습니다. 크기를 조정할 수 있고 사용자로부터받는 입력 만 " 공 "이 스크린 내부로 들어갑니다. 나는 공평하게 행과 열에 대한 공의 "수량"을 얻기 위해 너비와 높이를 제곱 할 필요가 있음을 알고있다.하지만 계산에 약간은 채워져있다. 볼의 크기. 볼 사이의 거리 (필요하면 공이 더 작아야 함) 아래 예에서 볼 시작 위치는 폼의 왼쪽 상단에 있어야합니다.그래픽 수수께끼로 VB.NET 채우기 양식
VS 사본을 열고 새 winforms 프로젝트를 추가하고 아래 코드를 양식의 Paint 이벤트에 붙여넣고 실행하십시오.
그래서 내가 원하는 것은 다음과 같습니다. 동일한 크기와 가능하면 양식을 채우기 위해 X 축과 Y 축에서 동일하게 양식을 채우기 위해 (사용자가 먹이를 생성하는) 불확실한 양의 공을 생성해야합니다 , 그들 사이의 작은 거리, 말하자면, 볼 자체 크기의 4 분의 1입니다.
자유롭게 화면의 크기를 조정하거나 _BallsInTotal 변수를 변경하여 볼의 양을 자동으로 생성하십시오.
Dim _BallsInTotal As Integer
_BallsInTotal = 100
Dim TotalColumns As Integer
Dim TotalRows As Integer
TotalColumns = Math.Sqrt(_BallsInTotal)
TotalRows = Math.Sqrt(_BallsInTotal)
Dim BallWidth As Single = 20
Dim BallHeight As Single = 20
Dim BallPositionX As Long = BallWidth * 2
Dim BallPositionY As Long = BallHeight * 2
Dim solidBrush As New SolidBrush(Color.FromArgb(255, 255, 0, 0))
Dim rows As Single
Dim columns As Single
For columns = 1 To TotalColumns
For rows = 1 To TotalRows
e.Graphics.FillEllipse(solidBrush, BallPositionX * columns, BallPositionY * rows, BallWidth , BallHeight)
Next
Next
필자 임 지점에서의 출혈가는 마지막 두 시간 동안 내 머리를 긁적되었다! (진지하게, 그것에서 나의 머리를하고있는).
나는 먹을 것이 거의 없으므로 아내가 나에게 소리를 지르려고합니다. 그러나 나는 그 것을 양식에 붙여 넣기 만하면됩니다. 나는 당신이 한 일을 읽고 이해하기 위해 코드를 읽는 데 약간의 시간을 할애 할 것입니다. 그것은 오리지날에서 백만 마일 떨어진 곳을 보지 못했지만 일부 그래픽적인 변화와 행 높이를 볼 수 있습니다 - 그걸 읽는 것이 좋을 것입니다 - 대단히 감사합니다 Capellan - 이것을 분류하기위한 슈퍼 스타 :) –