ho una listview
la quale ha degli anchor nella form, quando la listview si allarga vorrei allargare anche le colonne e restringerle in proprozione

ho già creato del codice
codice:
private int originalwidtlistView1 = 0;//per ridimensionare le colonneListview
 
       private void Form1_Load(object sender, EventArgs e)
       {            
           //salvo orignale form
           originalwidtlistView1 = listView1.Width;
           
       }
 
       private void Form1_Resize(object sender, EventArgs e)
       {
           listView1.SuspendLayout();
           Decimal fattore = 0;
 
           fattore = Decimal.Divide(listView1.Width, originalwidtlistView1); 
           foreach (ColumnHeader column in listView1.Columns)
           {
               Decimal w =column.Width * fattore;
               column.Width = int.Parse(Decimal.Round(w, 0).ToString());
           }
 
           originalwidtlistView1 = listView1.Width;//risalvo 
           listView1.ResumeLayout();        }
funziona anche piuttosto bene, purtroppo essendo che il fattore deve essere decimal visto che la form può allargarsi o stringersi quindi può assumere valori oltre che (1,2,3) anche di (0.1,0.5)
e il width è un tipo int ecco che ho dovuto fare un ROUND il quale dopo qualche volta che allargo e stringo sfalza tutto

consigli per far rimanere uguali a prima anche dopo vari tentativi?